From 28b0a0ab111be7cf440630caea0267fcb4e7c477 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Wed, 17 Sep 2014 13:03:23 -0700 Subject: [PATCH] TESTS: update the READ tests to the new API Signed-off-by: Ronnie Sahlberg --- test-tool/iscsi-support.c | 650 ++----------------- test-tool/iscsi-support.h | 18 +- test-tool/test_compareandwrite_miscompare.c | 6 +- test-tool/test_compareandwrite_simple.c | 6 +- test-tool/test_mandatory_sbc.c | 6 +- test-tool/test_nomedia_sbc.c | 15 +- test-tool/test_orwrite_verify.c | 12 +- test-tool/test_read10_0blocks.c | 18 +- test-tool/test_read10_beyond_eol.c | 23 +- test-tool/test_read10_flags.c | 20 +- test-tool/test_read10_rdprotect.c | 7 +- test-tool/test_read10_simple.c | 6 +- test-tool/test_read12_0blocks.c | 18 +- test-tool/test_read12_beyond_eol.c | 23 +- test-tool/test_read12_flags.c | 20 +- test-tool/test_read12_rdprotect.c | 7 +- test-tool/test_read12_simple.c | 6 +- test-tool/test_read16_0blocks.c | 18 +- test-tool/test_read16_beyond_eol.c | 39 +- test-tool/test_read16_flags.c | 20 +- test-tool/test_read16_rdprotect.c | 7 +- test-tool/test_read16_simple.c | 7 +- test-tool/test_sanitize_block_erase.c | 3 +- test-tool/test_sanitize_crypto_erase.c | 3 +- test-tool/test_sanitize_overwrite.c | 3 +- test-tool/test_sanitize_reset.c | 5 +- test-tool/test_unmap_simple.c | 6 +- test-tool/test_verify10_flags.c | 3 +- test-tool/test_verify10_mismatch.c | 6 +- test-tool/test_verify10_mismatch_no_cmp.c | 6 +- test-tool/test_verify10_simple.c | 6 +- test-tool/test_verify10_vrprotect.c | 3 +- test-tool/test_verify12_flags.c | 5 +- test-tool/test_verify12_mismatch.c | 8 +- test-tool/test_verify12_mismatch_no_cmp.c | 8 +- test-tool/test_verify12_simple.c | 6 +- test-tool/test_verify12_vrprotect.c | 4 +- test-tool/test_verify16_flags.c | 4 +- test-tool/test_verify16_mismatch.c | 6 +- test-tool/test_verify16_mismatch_no_cmp.c | 6 +- test-tool/test_verify16_simple.c | 7 +- test-tool/test_verify16_vrprotect.c | 4 +- test-tool/test_write10_residuals.c | 6 +- test-tool/test_write12_residuals.c | 6 +- test-tool/test_write16_residuals.c | 6 +- test-tool/test_writesame10_unmap.c | 15 +- test-tool/test_writesame10_unmap_until_end.c | 3 +- test-tool/test_writesame16_unmap.c | 16 +- test-tool/test_writesame16_unmap_until_end.c | 3 +- test-tool/test_writeverify10_residuals.c | 6 +- test-tool/test_writeverify12_residuals.c | 6 +- test-tool/test_writeverify16_residuals.c | 6 +- 52 files changed, 324 insertions(+), 803 deletions(-) diff --git a/test-tool/iscsi-support.c b/test-tool/iscsi-support.c index 232d8e3..61ff4de 100644 --- a/test-tool/iscsi-support.c +++ b/test-tool/iscsi-support.c @@ -62,6 +62,9 @@ int invalid_cdb_ascqs[1] = { int write_protect_ascqs[1] = { SCSI_SENSE_ASCQ_WRITE_PROTECTED }; +int sanitize_ascqs[1] = { + SCSI_SENSE_ASCQ_SANITIZE_IN_PROGRESS +}; struct scsi_inquiry_standard *inq; struct scsi_inquiry_logical_block_provisioning *inq_lbp; @@ -2114,653 +2117,96 @@ int read10(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, - unsigned char *data) + unsigned char *data, + int status, enum scsi_sense_key key, int *ascq, int num_ascq) { struct scsi_task *task; + int ret; - logging(LOG_VERBOSE, "Send READ10 LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read10_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ10 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status != SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ10 command: " - "failed with sense. %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ10 returned SUCCESS."); - return 0; -} - -int -read10_invalidfieldincdb(struct iscsi_context *iscsi, int lun, uint32_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ10 (Expecting INVALID_FIELD_IN_CDB) " - "LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", + logging(LOG_VERBOSE, "Send READ10 (Expecting %s) LBA:%d" + " blocks:%d rdprotect:%d dpo:%d fua:%d fua_nv:%d group:%d", + scsi_status_str(status), lba, datalen / blocksize, rdprotect, dpo, fua, fua_nv, group); - task = iscsi_read10_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ10 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ10 successful but should " - "have failed with ILLEGAL_REQUEST/INVALID_FIELD_IN_CDB"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_ILLEGAL_REQUEST - || task->sense.ascq != SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB) { - logging(LOG_NORMAL, "[FAILED] READ10 failed with wrong sense. " - "Should have failed with ILLEGAL_REQUEST/" - "INVALID_FIELD_IN_CDB. Sense:%s\n", - iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } + task = scsi_cdb_read10(lba, datalen, blocksize, rdprotect, + dpo, fua, fua_nv, group); + assert(task != NULL); - if (data != NULL) { + task = iscsi_scsi_command_sync(iscsi, lun, task, NULL); + + ret = check_result("READ10", iscsi, task, status, key, ascq, num_ascq); + if (data) { memcpy(data, task->datain.data, task->datain.size); } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ10 returned ILLEGAL_REQUEST/INVALID_FIELD_IB_CDB."); - return 0; -} - -int -read10_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint32_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ10 (Expecting LBA_OUT_OF_RANGE) " - "LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read10_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ10 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ10 successful but should " - "have failed with ILLEGAL_REQUEST/LBA_OUT_OF_RANGE"); + if (task) { scsi_free_scsi_task(task); - return -1; } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_ILLEGAL_REQUEST - || task->sense.ascq != SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE) { - logging(LOG_NORMAL, "[FAILED] READ10 failed with wrong sense. " - "Should have failed with ILLEGAL_REQUEST/" - "LBA_OUT_OF_RANGE. Sense:%s\n", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ10 returned ILLEGAL_REQUEST/LBA_OUT_OF_RANGE."); - return 0; -} - -int -read10_nomedium(struct iscsi_context *iscsi, int lun, uint32_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ10 (Expecting MEDIUM_NOT_PRESENT) " - "LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read10_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ10 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ10 successful but should " - "have failed with NOT_READY/MEDIUM_NOT_PRESENT*"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_NOT_READY - || (task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT - && task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN - && task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED)) { - logging(LOG_NORMAL, "[FAILED] READ10 Should have failed " - "with NOT_READY/MEDIUM_NOT_PRESENT* But failed " - "with %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ10 returned MEDIUM_NOT_PRESENT."); - return 0; + return ret; } int read12(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, - unsigned char *data) + unsigned char *data, + int status, enum scsi_sense_key key, int *ascq, int num_ascq) { struct scsi_task *task; + int ret; - logging(LOG_VERBOSE, "Send READ12 LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read12_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ12 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { - scsi_free_scsi_task(task); - logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); - return -2; - } - if (task->status != SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ12 command: " - "failed with sense. %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ12 returned SUCCESS."); - return 0; -} - -int -read12_invalidfieldincdb(struct iscsi_context *iscsi, int lun, uint32_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ12 (Expecting INVALID_FIELD_IN_CDB) " - "LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", + logging(LOG_VERBOSE, "Send READ12 (Expecting %s) LBA:%d" + " blocks:%d rdprotect:%d dpo:%d fua:%d fua_nv:%d group:%d", + scsi_status_str(status), lba, datalen / blocksize, rdprotect, dpo, fua, fua_nv, group); - task = iscsi_read12_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ12 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { - scsi_free_scsi_task(task); - logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); - return -2; - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ12 successful but should " - "have failed with ILLEGAL_REQUEST/INVALID_FIELD_IN_CDB"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_ILLEGAL_REQUEST - || task->sense.ascq != SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB) { - logging(LOG_NORMAL, "[FAILED] READ12 failed with wrong sense. " - "Should have failed with ILLEGAL_REQUEST/" - "INVALID_FIELD_IN_CDB. Sense:%s\n", - iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } + task = scsi_cdb_read12(lba, datalen, blocksize, rdprotect, + dpo, fua, fua_nv, group); + assert(task != NULL); - if (data != NULL) { + task = iscsi_scsi_command_sync(iscsi, lun, task, NULL); + + ret = check_result("READ12", iscsi, task, status, key, ascq, num_ascq); + if (data) { memcpy(data, task->datain.data, task->datain.size); } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ12 returned ILLEGAL_REQUEST/INVALID_FIELD_IB_CDB."); - return 0; -} - -int -read12_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint32_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ12 (Expecting LBA_OUT_OF_RANGE) " - "LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read12_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ12 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { + if (task) { scsi_free_scsi_task(task); - logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); - return -2; } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ12 successful but should " - "have failed with ILLEGAL_REQUEST/LBA_OUT_OF_RANGE"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_ILLEGAL_REQUEST - || task->sense.ascq != SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE) { - logging(LOG_NORMAL, "[FAILED] READ12 failed with wrong sense. " - "Should have failed with ILLEGAL_REQUEST/" - "LBA_OUT_OF_RANGE. Sense:%s\n", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ12 returned ILLEGAL_REQUEST/LBA_OUT_OF_RANGE."); - return 0; -} - -int -read12_nomedium(struct iscsi_context *iscsi, int lun, uint32_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ12 (Expecting MEDIUM_NOT_PRESENT) " - "LBA:%d blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read12_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ12 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { - scsi_free_scsi_task(task); - logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); - return -2; - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ12 successful but should " - "have failed with NOT_READY/MEDIUM_NOT_PRESENT*"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_NOT_READY - || (task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT - && task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN - && task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED)) { - logging(LOG_NORMAL, "[FAILED] READ12 Should have failed " - "with NOT_READY/MEDIUM_NOT_PRESENT* But failed " - "with %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ12 returned MEDIUM_NOT_PRESENT*."); - return 0; + return ret; } int read16(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, - unsigned char *data) + unsigned char *data, + int status, enum scsi_sense_key key, int *ascq, int num_ascq) { struct scsi_task *task; + int ret; - logging(LOG_VERBOSE, "Send READ16 LBA:%" PRId64 " blocks:%d " - "rdprotect:%d dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read16_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ16 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { - scsi_free_scsi_task(task); - if (sbc3_support) { - logging(LOG_NORMAL, "[FAILED] READ16 is not available but the device claims SBC-3 support."); - return -1; - } else { - logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented and SBC-3 is not claimed."); - return -2; - } - } - if (task->status != SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ16 command: " - "failed with sense. %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ16 returned SUCCESS."); - return 0; -} - -int -read16_invalidfieldincdb(struct iscsi_context *iscsi, int lun, uint64_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ16 (Expecting INVALID_FIELD_IN_CDB) " - "LBA:%" PRId64 " blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", + logging(LOG_VERBOSE, "Send READ16 (Expecting %s) LBA:%" PRIu64 + " blocks:%d rdprotect:%d dpo:%d fua:%d fua_nv:%d group:%d", + scsi_status_str(status), lba, datalen / blocksize, rdprotect, dpo, fua, fua_nv, group); - task = iscsi_read16_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ16 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { - scsi_free_scsi_task(task); - if (sbc3_support) { - logging(LOG_NORMAL, "[FAILED] READ16 is not available but the device claims SBC-3 support."); - return -1; - } else { - logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented and SBC-3 is not claimed."); - return -2; - } - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ16 successful but should " - "have failed with ILLEGAL_REQUEST/INVALID_FIELD_IN_CDB"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_ILLEGAL_REQUEST - || task->sense.ascq != SCSI_SENSE_ASCQ_INVALID_FIELD_IN_CDB) { - logging(LOG_NORMAL, "[FAILED] READ16 failed with wrong sense. " - "Should have failed with ILLEGAL_REQUEST/" - "INVALID_FIELD_IN_CDB. Sense:%s\n", - iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } + task = scsi_cdb_read16(lba, datalen, blocksize, rdprotect, + dpo, fua, fua_nv, group); + assert(task != NULL); - if (data != NULL) { + task = iscsi_scsi_command_sync(iscsi, lun, task, NULL); + + ret = check_result("READ16", iscsi, task, status, key, ascq, num_ascq); + if (data) { memcpy(data, task->datain.data, task->datain.size); } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ16 returned ILLEGAL_REQUEST/INVALID_FIELD_IB_CDB."); - return 0; -} - -int -read16_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint64_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ16 (Expecting LBA_OUT_OF_RANGE) " - "LBA:%" PRId64 " blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read16_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ16 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { + if (task) { scsi_free_scsi_task(task); - if (sbc3_support) { - logging(LOG_NORMAL, "[FAILED] READ16 is not available but the device claims SBC-3 support."); - return -1; - } else { - logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented and SBC-3 is not claimed."); - return -2; - } } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ16 successful but should " - "have failed with ILLEGAL_REQUEST/LBA_OUT_OF_RANGE"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_ILLEGAL_REQUEST - || task->sense.ascq != SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE) { - logging(LOG_NORMAL, "[FAILED] READ16 failed with wrong sense. " - "Should have failed with ILLEGAL_REQUEST/" - "LBA_OUT_OF_RANGE. Sense:%s\n", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ16 returned ILLEGAL_REQUEST/LBA_OUT_OF_RANGE."); - return 0; -} - -int -read16_nomedium(struct iscsi_context *iscsi, int lun, uint64_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ16 (Expecting MEDIUM_NOT_PRESENT) " - "LBA:%" PRId64 " blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read16_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ16 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_CHECK_CONDITION - && task->sense.key == SCSI_SENSE_ILLEGAL_REQUEST - && task->sense.ascq == SCSI_SENSE_ASCQ_INVALID_OPERATION_CODE) { - scsi_free_scsi_task(task); - if (sbc3_support) { - logging(LOG_NORMAL, "[FAILED] READ16 is not available but the device claims SBC-3 support."); - return -1; - } else { - logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented and SBC-3 is not claimed."); - return -2; - } - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ16 successful but should " - "have failed with NOT_READY/MEDIUM_NOT_PRESENT*"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_NOT_READY - || (task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT - && task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_OPEN - && task->sense.ascq != SCSI_SENSE_ASCQ_MEDIUM_NOT_PRESENT_TRAY_CLOSED)) { - logging(LOG_NORMAL, "[FAILED] READ16 Should have failed " - "with NOT_READY/MEDIUM_NOT_PRESENT* But failed " - "with %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ16 returned MEDIUM_NOT_PRESENT."); - return 0; -} - -int -read16_sanitize(struct iscsi_context *iscsi, int lun, uint64_t lba, - uint32_t datalen, int blocksize, int rdprotect, - int dpo, int fua, int fua_nv, int group, - unsigned char *data) -{ - struct scsi_task *task; - - logging(LOG_VERBOSE, "Send READ16 (Expecting SANITIZE_IN_PROGRESS) " - "LBA:%" PRId64 " blocks:%d rdprotect:%d " - "dpo:%d fua:%d fua_nv:%d group:%d", - lba, datalen / blocksize, rdprotect, - dpo, fua, fua_nv, group); - - task = iscsi_read16_sync(iscsi, lun, lba, datalen, blocksize, - rdprotect, dpo, fua, fua_nv, group); - if (task == NULL) { - logging(LOG_NORMAL, "[FAILED] Failed to send READ16 command: %s", - iscsi_get_error(iscsi)); - return -1; - } - if (task->status == SCSI_STATUS_GOOD) { - logging(LOG_NORMAL, "[FAILED] READ16 successful but should " - "have failed with NOT_READY/SANITIZE_IN_PROGRESS"); - scsi_free_scsi_task(task); - return -1; - } - if (task->status != SCSI_STATUS_CHECK_CONDITION - || task->sense.key != SCSI_SENSE_NOT_READY - || task->sense.ascq != SCSI_SENSE_ASCQ_SANITIZE_IN_PROGRESS) { - logging(LOG_NORMAL, "[FAILED] READ16 Should have failed " - "with NOT_READY/SANITIZE_IN_PROGRESS But failed " - "with %s", iscsi_get_error(iscsi)); - scsi_free_scsi_task(task); - return -1; - } - - if (data != NULL) { - memcpy(data, task->datain.data, task->datain.size); - } - - scsi_free_scsi_task(task); - logging(LOG_VERBOSE, "[OK] READ16 returned SANITIZE_IN_PROGRESS"); - return 0; + return ret; } int diff --git a/test-tool/iscsi-support.h b/test-tool/iscsi-support.h index 4603ea4..db36c19 100644 --- a/test-tool/iscsi-support.h +++ b/test-tool/iscsi-support.h @@ -35,11 +35,13 @@ extern const char *tgt_url; #define EXPECT_INVALID_FIELD_IN_CDB SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_ILLEGAL_REQUEST, invalid_cdb_ascqs, 1 #define EXPECT_MISCOMPARE SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_MISCOMPARE, 0, 0 #define EXPECT_WRITE_PROTECTED SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_DATA_PROTECTION, write_protect_ascqs, 1 +#define EXPECT_SANITIZE SCSI_STATUS_CHECK_CONDITION, SCSI_SENSE_NOT_READY, sanitize_ascqs, 1 int no_medium_ascqs[3]; int lba_oob_ascqs[1]; int invalid_cdb_ascqs[1]; int write_protect_ascqs[1]; +int sanitize_ascqs[1]; extern int loglevel; #define LOG_SILENT 0 @@ -262,19 +264,9 @@ int preventallow(struct iscsi_context *iscsi, int lun, int prevent); int read6(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, unsigned char *data); int read6_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, unsigned char *data); struct scsi_task *read10_task(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read10(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read10_invalidfieldincdb(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read10_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read10_nomedium(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read12(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read12_invalidfieldincdb(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read12_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read12_nomedium(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read16(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read16_invalidfieldincdb(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read16_lbaoutofrange(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read16_nomedium(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); -int read16_sanitize(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data); +int read10(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data, int status, enum scsi_sense_key key, int *ascq, int num_ascq); +int read12(struct iscsi_context *iscsi, int lun, uint32_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data, int status, enum scsi_sense_key key, int *ascq, int num_ascq); +int read16(struct iscsi_context *iscsi, int lun, uint64_t lba, uint32_t datalen, int blocksize, int rdprotect, int dpo, int fua, int fua_nv, int group, unsigned char *data, int status, enum scsi_sense_key key, int *ascq, int num_ascq); int readcapacity10(struct iscsi_context *iscsi, int lun, uint32_t lba, int pmi); int readcapacity10_nomedium(struct iscsi_context *iscsi, int lun, uint32_t lba, int pmi); int readcapacity16(struct iscsi_context *iscsi, int lun, int alloc_len); diff --git a/test-tool/test_compareandwrite_miscompare.c b/test-tool/test_compareandwrite_miscompare.c index 63b0d5a..750cc7c 100644 --- a/test-tool/test_compareandwrite_miscompare.c +++ b/test-tool/test_compareandwrite_miscompare.c @@ -101,7 +101,8 @@ test_compareandwrite_miscompare(void) logging(LOG_VERBOSE, "Read %d blocks at LBA:0 and verify " "they are still unchanged as 'A'", i); ret = read16(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); for (j = 0; j < i * block_size; j++) { @@ -159,7 +160,8 @@ test_compareandwrite_miscompare(void) "they are still unchanged as 'A'", i, num_blocks - i); ret = read16(iscsic, tgt_lun, num_blocks - i, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); for (j = 0; j < i * block_size; j++) { diff --git a/test-tool/test_compareandwrite_simple.c b/test-tool/test_compareandwrite_simple.c index c389ede..bcee524 100644 --- a/test-tool/test_compareandwrite_simple.c +++ b/test-tool/test_compareandwrite_simple.c @@ -99,7 +99,8 @@ test_compareandwrite_simple(void) logging(LOG_VERBOSE, "Read %d blocks at LBA:0 and verify " "they are all 'B'", i); ret = read16(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); for (j = 0; j < i * block_size; j++) { @@ -153,7 +154,8 @@ test_compareandwrite_simple(void) " and verify they are all 'B'", i, num_blocks - i); ret = read16(iscsic, tgt_lun, num_blocks - i, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); for (j = 0; j < i * block_size; j++) { diff --git a/test-tool/test_mandatory_sbc.c b/test-tool/test_mandatory_sbc.c index 6012955..daa0afe 100644 --- a/test-tool/test_mandatory_sbc.c +++ b/test-tool/test_mandatory_sbc.c @@ -52,13 +52,15 @@ test_mandatory_sbc(void) logging(LOG_VERBOSE, "Test READ10."); ret = read10(iscsic, tgt_lun, 0, block_size, block_size, - 0, 0, 0, 0, 0, NULL); + 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); if (sbc3_support) { logging(LOG_VERBOSE, "Test READ16. the device claims SBC-3 support."); ret = read16(iscsic, tgt_lun, 0, block_size, block_size, - 0, 0, 0, 0, 0, NULL); + 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_nomedia_sbc.c b/test-tool/test_nomedia_sbc.c index c2995f0..47f63ec 100644 --- a/test-tool/test_nomedia_sbc.c +++ b/test-tool/test_nomedia_sbc.c @@ -69,18 +69,21 @@ test_nomedia_sbc(void) } logging(LOG_VERBOSE, "Test READ10 when medium is ejected."); - ret = read10_nomedium(iscsic, tgt_lun, 0, block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, 0, block_size, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_NO_MEDIUM); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ12 when medium is ejected."); - ret = read12_nomedium(iscsic, tgt_lun, 0, block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, 0, block_size, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_NO_MEDIUM); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 when medium is ejected."); - ret = read16_nomedium(iscsic, tgt_lun, 0, block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, 0, block_size, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_NO_MEDIUM); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READCAPACITY10 when medium is ejected."); diff --git a/test-tool/test_orwrite_verify.c b/test-tool/test_orwrite_verify.c index 7fb6573..ad31849 100644 --- a/test-tool/test_orwrite_verify.c +++ b/test-tool/test_orwrite_verify.c @@ -66,7 +66,8 @@ test_orwrite_verify(void) logging(LOG_VERBOSE, "Read %d blocks back", i); ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, readbuf); + block_size, 0, 0, 0, 0, 0, readbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the blocks are all 0xa5"); @@ -82,7 +83,8 @@ test_orwrite_verify(void) logging(LOG_VERBOSE, "Read %d blocks back", i); ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, readbuf); + block_size, 0, 0, 0, 0, 0, readbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the blocks are all 0xff"); @@ -113,7 +115,8 @@ test_orwrite_verify(void) logging(LOG_VERBOSE, "Read %d blocks back", i); ret = read16(iscsic, tgt_lun, num_blocks - i, i * block_size, - block_size, 0, 0, 0, 0, 0, readbuf); + block_size, 0, 0, 0, 0, 0, readbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the blocks are all 0xa5"); @@ -129,7 +132,8 @@ test_orwrite_verify(void) logging(LOG_VERBOSE, "Read %d blocks back", i); ret = read16(iscsic, tgt_lun, num_blocks - i, i * block_size, - block_size, 0, 0, 0, 0, 0, readbuf); + block_size, 0, 0, 0, 0, 0, readbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the blocks are all 0xff"); diff --git a/test-tool/test_read10_0blocks.c b/test-tool/test_read10_0blocks.c index 376fbcd..b7dc994 100644 --- a/test-tool/test_read10_0blocks.c +++ b/test-tool/test_read10_0blocks.c @@ -31,7 +31,8 @@ test_read10_0blocks(void) logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test READ10 0-blocks at LBA==0"); ret = read10(iscsic, tgt_lun, 0, 0, block_size, - 0, 0, 0, 0, 0, NULL); + 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); if (num_blocks > 0x80000000) { @@ -40,19 +41,22 @@ test_read10_0blocks(void) } logging(LOG_VERBOSE, "Test READ10 0-blocks one block past end-of-LUN"); - ret = read10_lbaoutofrange(iscsic, tgt_lun, num_blocks + 1, 0, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, num_blocks + 1, 0, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ10 0-blocks at LBA==2^31"); - ret = read10_lbaoutofrange(iscsic, tgt_lun, 0x80000000, 0, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, 0x80000000, 0, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ10 0-blocks at LBA==-1"); - ret = read10_lbaoutofrange(iscsic, tgt_lun, -1, 0, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, -1, 0, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_read10_beyond_eol.c b/test-tool/test_read10_beyond_eol.c index 213cc83..621e14d 100644 --- a/test-tool/test_read10_beyond_eol.c +++ b/test-tool/test_read10_beyond_eol.c @@ -40,9 +40,9 @@ test_read10_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read10_lbaoutofrange(iscsic, tgt_lun, num_blocks + 1 - i, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, num_blocks + 1 - i, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -52,9 +52,9 @@ test_read10_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read10_lbaoutofrange(iscsic, tgt_lun, 0x80000000, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, 0x80000000, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -64,8 +64,9 @@ test_read10_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read10_lbaoutofrange(iscsic, tgt_lun, -1, i * block_size, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, -1, i * block_size, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -75,9 +76,9 @@ test_read10_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read10_lbaoutofrange(iscsic, tgt_lun, num_blocks - 1, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, num_blocks - 1, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } } diff --git a/test-tool/test_read10_flags.c b/test-tool/test_read10_flags.c index c303db7..09b584b 100644 --- a/test-tool/test_read10_flags.c +++ b/test-tool/test_read10_flags.c @@ -37,35 +37,35 @@ test_read10_flags(void) logging(LOG_VERBOSE, "Test READ10 with DPO==1"); ret = read10(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 1, 0, 0, 0, NULL); + block_size, block_size, 0, 1, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ10 with FUA==1 FUA_NV==0"); ret = read10(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 1, 0, 0, NULL); + block_size, block_size, 0, 0, 1, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ10 with FUA==1 FUA_NV==1"); ret = read10(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 1, 1, 0, NULL); + block_size, block_size, 0, 0, 1, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ10 with FUA==0 FUA_NV==1"); ret = read10(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 0, 1, 0, NULL); + block_size, block_size, 0, 0, 0, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ10 with DPO==1 FUA==1 FUA_NV==1"); ret = read10(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 1, 1, 1, 0, NULL); + block_size, block_size, 0, 1, 1, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_read10_rdprotect.c b/test-tool/test_read10_rdprotect.c index 77f475d..0b0ebc0 100644 --- a/test-tool/test_read10_rdprotect.c +++ b/test-tool/test_read10_rdprotect.c @@ -42,9 +42,10 @@ test_read10_rdprotect(void) if (!inq->protect || (rc16 != NULL && !rc16->prot_en)) { logging(LOG_VERBOSE, "Device does not support/use protection information. All commands should fail."); for (i = 1; i < 8; i++) { - ret = read10_invalidfieldincdb(iscsic, tgt_lun, 0, - block_size, block_size, - i, 0, 0, 0, 0, NULL); + ret = read10(iscsic, tgt_lun, 0, + block_size, block_size, + i, 0, 0, 0, 0, NULL, + EXPECT_INVALID_FIELD_IN_CDB); CU_ASSERT_EQUAL(ret, 0); } return; diff --git a/test-tool/test_read10_simple.c b/test-tool/test_read10_simple.c index 663a2e2..68a10a7 100644 --- a/test-tool/test_read10_simple.c +++ b/test-tool/test_read10_simple.c @@ -38,7 +38,8 @@ test_read10_simple(void) break; } ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, NULL); + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } @@ -49,7 +50,8 @@ test_read10_simple(void) break; } ret = read10(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, NULL); + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } } diff --git a/test-tool/test_read12_0blocks.c b/test-tool/test_read12_0blocks.c index be18734..88b0811 100644 --- a/test-tool/test_read12_0blocks.c +++ b/test-tool/test_read12_0blocks.c @@ -31,7 +31,8 @@ test_read12_0blocks(void) logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test READ12 0-blocks at LBA==0"); ret = read12(iscsic, tgt_lun, 0, 0, block_size, - 0, 0, 0, 0, 0, NULL); + 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); CU_PASS("READ12 is not implemented."); @@ -45,19 +46,22 @@ test_read12_0blocks(void) } logging(LOG_VERBOSE, "Test READ12 0-blocks one block past end-of-LUN"); - ret = read12_lbaoutofrange(iscsic, tgt_lun, num_blocks + 1, 0, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, num_blocks + 1, 0, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ12 0-blocks at LBA==2^31"); - ret = read12_lbaoutofrange(iscsic, tgt_lun, 0x80000000, 0, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, 0x80000000, 0, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ12 0-blocks at LBA==-1"); - ret = read12_lbaoutofrange(iscsic, tgt_lun, -1, 0, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, -1, 0, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_read12_beyond_eol.c b/test-tool/test_read12_beyond_eol.c index 5de1699..87232ca 100644 --- a/test-tool/test_read12_beyond_eol.c +++ b/test-tool/test_read12_beyond_eol.c @@ -40,9 +40,9 @@ test_read12_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read12_lbaoutofrange(iscsic, tgt_lun, num_blocks + 1 - i, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, num_blocks + 1 - i, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); CU_PASS("READ12 is not implemented."); @@ -57,9 +57,9 @@ test_read12_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read12_lbaoutofrange(iscsic, tgt_lun, 0x80000000, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, 0x80000000, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -69,8 +69,9 @@ test_read12_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read12_lbaoutofrange(iscsic, tgt_lun, -1, i * block_size, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, -1, i * block_size, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -80,9 +81,9 @@ test_read12_beyond_eol(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read12_lbaoutofrange(iscsic, tgt_lun, num_blocks - 1, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, num_blocks - 1, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } } diff --git a/test-tool/test_read12_flags.c b/test-tool/test_read12_flags.c index d643f6f..7bac8b5 100644 --- a/test-tool/test_read12_flags.c +++ b/test-tool/test_read12_flags.c @@ -37,8 +37,8 @@ test_read12_flags(void) logging(LOG_VERBOSE, "Test READ12 with DPO==1"); ret = read12(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 1, 0, 0, 0, NULL); + block_size, block_size, 0, 1, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); CU_PASS("READ12 is not implemented."); @@ -49,28 +49,28 @@ test_read12_flags(void) logging(LOG_VERBOSE, "Test READ12 with FUA==1 FUA_NV==0"); ret = read12(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 1, 0, 0, NULL); + block_size, block_size, 0, 0, 1, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ12 with FUA==1 FUA_NV==1"); ret = read12(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 1, 1, 0, NULL); + block_size, block_size, 0, 0, 1, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ12 with FUA==0 FUA_NV==1"); ret = read12(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 0, 1, 0, NULL); + block_size, block_size, 0, 0, 0, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ12 with DPO==1 FUA==1 FUA_NV==1"); ret = read12(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 1, 1, 1, 0, NULL); + block_size, block_size, 0, 1, 1, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_read12_rdprotect.c b/test-tool/test_read12_rdprotect.c index 6f9709c..b01c6e3 100644 --- a/test-tool/test_read12_rdprotect.c +++ b/test-tool/test_read12_rdprotect.c @@ -41,9 +41,10 @@ test_read12_rdprotect(void) if (!inq->protect || (rc16 != NULL && !rc16->prot_en)) { logging(LOG_VERBOSE, "Device does not support/use protection information. All commands should fail."); for (i = 1; i < 8; i++) { - ret = read12_invalidfieldincdb(iscsic, tgt_lun, 0, - block_size, block_size, - i, 0, 0, 0, 0, NULL); + ret = read12(iscsic, tgt_lun, 0, + block_size, block_size, + i, 0, 0, 0, 0, NULL, + EXPECT_INVALID_FIELD_IN_CDB); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); CU_PASS("READ12 is not implemented."); diff --git a/test-tool/test_read12_simple.c b/test-tool/test_read12_simple.c index ce886cf..93518fb 100644 --- a/test-tool/test_read12_simple.c +++ b/test-tool/test_read12_simple.c @@ -38,7 +38,8 @@ test_read12_simple(void) break; } ret = read12(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, NULL); + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ12 is not implemented."); CU_PASS("READ12 is not implemented."); @@ -54,7 +55,8 @@ test_read12_simple(void) break; } ret = read12(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, NULL); + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } } diff --git a/test-tool/test_read16_0blocks.c b/test-tool/test_read16_0blocks.c index 9541136..62fb146 100644 --- a/test-tool/test_read16_0blocks.c +++ b/test-tool/test_read16_0blocks.c @@ -33,7 +33,8 @@ test_read16_0blocks(void) logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test READ16 0-blocks at LBA==0"); ret = read16(iscsic, tgt_lun, 0, 0, block_size, - 0, 0, 0, 0, 0, NULL); + 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented on this target and it does not claim SBC-3 support."); CU_PASS("READ16 is not implemented and no SBC-3 support claimed."); @@ -42,19 +43,22 @@ test_read16_0blocks(void) CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 0-blocks one block past end-of-LUN"); - ret = read16_lbaoutofrange(iscsic, tgt_lun, num_blocks + 1, 0, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, num_blocks + 1, 0, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 0-blocks at LBA==2^63"); - ret = read16_lbaoutofrange(iscsic, tgt_lun, 0x8000000000000000ULL, 0, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, 0x8000000000000000ULL, 0, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 0-blocks at LBA==-1"); - ret = read16_lbaoutofrange(iscsic, tgt_lun, -1, 0, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, -1, 0, block_size, + 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_read16_beyond_eol.c b/test-tool/test_read16_beyond_eol.c index b488513..418de91 100644 --- a/test-tool/test_read16_beyond_eol.c +++ b/test-tool/test_read16_beyond_eol.c @@ -49,9 +49,9 @@ test_read16_beyond_eol(void) break; } - ret = read16_lbaoutofrange(iscsic, tgt_lun, num_blocks + 1 - i, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, num_blocks + 1 - i, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented on this target and it does not claim SBC-3 support."); CU_PASS("READ16 is not implemented and no SBC-3 support claimed."); @@ -67,9 +67,9 @@ test_read16_beyond_eol(void) break; } - ret = read16_lbaoutofrange(iscsic, tgt_lun, 0x8000000000000000ULL, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, 0x8000000000000000ULL, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -81,10 +81,10 @@ test_read16_beyond_eol(void) break; } - ret = read16_lbaoutofrange(iscsic, tgt_lun, - 1ULL << (64 - ilog2(block_size)), - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, + 1ULL << (64 - ilog2(block_size)), + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -96,10 +96,10 @@ test_read16_beyond_eol(void) break; } - ret = read16_lbaoutofrange(iscsic, tgt_lun, - 1ULL << (63 - ilog2(block_size)), - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, + 1ULL << (63 - ilog2(block_size)), + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -110,8 +110,9 @@ test_read16_beyond_eol(void) break; } - ret = read16_lbaoutofrange(iscsic, tgt_lun, -1, i * block_size, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, -1, i * block_size, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } @@ -122,9 +123,9 @@ test_read16_beyond_eol(void) break; } - ret = read16_lbaoutofrange(iscsic, tgt_lun, num_blocks - 1, - i * block_size, block_size, - 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, num_blocks - 1, + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_LBA_OOB); CU_ASSERT_EQUAL(ret, 0); } } diff --git a/test-tool/test_read16_flags.c b/test-tool/test_read16_flags.c index 101c79b..436ebe6 100644 --- a/test-tool/test_read16_flags.c +++ b/test-tool/test_read16_flags.c @@ -37,8 +37,8 @@ test_read16_flags(void) logging(LOG_VERBOSE, "Test READ16 with DPO==1"); ret = read16(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 1, 0, 0, 0, NULL); + block_size, block_size, 0, 1, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented on this target and it does not claim SBC-3 support."); CU_PASS("READ16 is not implemented and no SBC-3 support claimed."); @@ -49,28 +49,28 @@ test_read16_flags(void) logging(LOG_VERBOSE, "Test READ16 with FUA==1 FUA_NV==0"); ret = read16(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 1, 0, 0, NULL); + block_size, block_size, 0, 0, 1, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 with FUA==1 FUA_NV==1"); ret = read16(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 1, 1, 0, NULL); + block_size, block_size, 0, 0, 1, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 with FUA==0 FUA_NV==1"); ret = read16(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 0, 0, 1, 0, NULL); + block_size, block_size, 0, 0, 0, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Test READ16 with DPO==1 FUA==1 FUA_NV==1"); ret = read16(iscsic, tgt_lun, 0, - block_size, block_size, - 0, 1, 1, 1, 0, NULL); + block_size, block_size, 0, 1, 1, 1, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } diff --git a/test-tool/test_read16_rdprotect.c b/test-tool/test_read16_rdprotect.c index 0abeee6..800372b 100644 --- a/test-tool/test_read16_rdprotect.c +++ b/test-tool/test_read16_rdprotect.c @@ -41,9 +41,10 @@ test_read16_rdprotect(void) if (!inq->protect || (rc16 != NULL && !rc16->prot_en)) { logging(LOG_VERBOSE, "Device does not support/use protection information. All commands should fail."); for (i = 1; i < 8; i++) { - ret = read16_invalidfieldincdb(iscsic, tgt_lun, 0, - block_size, block_size, - i, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, 0, + block_size, block_size, + i, 0, 0, 0, 0, NULL, + EXPECT_INVALID_FIELD_IN_CDB); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ16 is not im lemented on this target and it does not claim SBC-3 support."); CU_PASS("READ16 is not implemented and no SBC-3 support claimed."); diff --git a/test-tool/test_read16_simple.c b/test-tool/test_read16_simple.c index ad92ec8..e91f241 100644 --- a/test-tool/test_read16_simple.c +++ b/test-tool/test_read16_simple.c @@ -40,7 +40,8 @@ test_read16_simple(void) } ret = read16(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, NULL); + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); if (ret == -2) { logging(LOG_NORMAL, "[SKIPPED] READ16 is not implemented on this target and it does not claim SBC-3 support."); CU_PASS("READ16 is not implemented and no SBC-3 support claimed."); @@ -57,8 +58,8 @@ test_read16_simple(void) } ret = read16(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, NULL); - + i * block_size, block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); } } diff --git a/test-tool/test_sanitize_block_erase.c b/test-tool/test_sanitize_block_erase.c index 8c59a59..9bf9183 100644 --- a/test-tool/test_sanitize_block_erase.c +++ b/test-tool/test_sanitize_block_erase.c @@ -208,7 +208,8 @@ check_lun_is_wiped(unsigned char *buf, uint64_t lba) unsigned char *rbuf = alloca(256 * block_size); ret = read16(iscsic, tgt_lun, lba, 256 * block_size, - block_size, 0, 0, 0, 0, 0, rbuf); + block_size, 0, 0, 0, 0, 0, rbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); if (rc16 == NULL) { diff --git a/test-tool/test_sanitize_crypto_erase.c b/test-tool/test_sanitize_crypto_erase.c index 47edb57..7412189 100644 --- a/test-tool/test_sanitize_crypto_erase.c +++ b/test-tool/test_sanitize_crypto_erase.c @@ -118,7 +118,8 @@ check_lun_is_wiped(unsigned char *buf, uint64_t lba) unsigned char *rbuf = alloca(256 * block_size); ret = read16(iscsic, tgt_lun, lba, 256 * block_size, - block_size, 0, 0, 0, 0, 0, rbuf); + block_size, 0, 0, 0, 0, 0, rbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); if (!memcmp(buf, rbuf, 256 * block_size)) { diff --git a/test-tool/test_sanitize_overwrite.c b/test-tool/test_sanitize_overwrite.c index 4808b4b..cdbfc4c 100644 --- a/test-tool/test_sanitize_overwrite.c +++ b/test-tool/test_sanitize_overwrite.c @@ -47,7 +47,8 @@ check_lun_is_wiped(uint64_t lba, char c) unsigned char *zbuf = alloca(256 * block_size); ret = read16(iscsic, tgt_lun, lba, 256 * block_size, - block_size, 0, 0, 0, 0, 0, rbuf); + block_size, 0, 0, 0, 0, 0, rbuf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); memset(zbuf, c, 256 * block_size); diff --git a/test-tool/test_sanitize_reset.c b/test-tool/test_sanitize_reset.c index adc48be..d8c5808 100644 --- a/test-tool/test_sanitize_reset.c +++ b/test-tool/test_sanitize_reset.c @@ -96,8 +96,9 @@ test_sanitize_reset(void) logging(LOG_VERBOSE, "Verify that READ16 fails with " "SANITIZE_IN_PROGRESS"); - ret = read16_sanitize(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, NULL); + ret = read16(iscsic, tgt_lun, 0, block_size, + block_size, 0, 0, 0, 0, 0, NULL, + EXPECT_SANITIZE); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that INQUIRY is still allowed while " diff --git a/test-tool/test_unmap_simple.c b/test-tool/test_unmap_simple.c index 51e786d..711e3b0 100644 --- a/test-tool/test_unmap_simple.c +++ b/test-tool/test_unmap_simple.c @@ -69,7 +69,8 @@ test_unmap_simple(void) logging(LOG_VERBOSE, "Read blocks 0-%d", i); ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); if (rc16 && rc16->lbprz) { @@ -102,7 +103,8 @@ test_unmap_simple(void) logging(LOG_VERBOSE, "Read blocks 0-%d", i); ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); if (rc16 && rc16->lbprz) { diff --git a/test-tool/test_verify10_flags.c b/test-tool/test_verify10_flags.c index db2988d..7a6dd45 100644 --- a/test-tool/test_verify10_flags.c +++ b/test-tool/test_verify10_flags.c @@ -35,7 +35,8 @@ test_verify10_flags(void) logging(LOG_VERBOSE, "Test VERIFY10 flags"); ret = read10(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); diff --git a/test-tool/test_verify10_mismatch.c b/test-tool/test_verify10_mismatch.c index ea42cf4..b50f757 100644 --- a/test-tool/test_verify10_mismatch.c +++ b/test-tool/test_verify10_mismatch.c @@ -41,7 +41,8 @@ test_verify10_mismatch(void) break; } ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ @@ -66,7 +67,8 @@ test_verify10_mismatch(void) break; } ret = read10(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ diff --git a/test-tool/test_verify10_mismatch_no_cmp.c b/test-tool/test_verify10_mismatch_no_cmp.c index c0c81da..dca8641 100644 --- a/test-tool/test_verify10_mismatch_no_cmp.c +++ b/test-tool/test_verify10_mismatch_no_cmp.c @@ -41,7 +41,8 @@ test_verify10_mismatch_no_cmp(void) break; } ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ @@ -67,7 +68,8 @@ test_verify10_mismatch_no_cmp(void) break; } ret = read10(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ diff --git a/test-tool/test_verify10_simple.c b/test-tool/test_verify10_simple.c index 2f3576e..631c376 100644 --- a/test-tool/test_verify10_simple.c +++ b/test-tool/test_verify10_simple.c @@ -39,7 +39,8 @@ test_verify10_simple(void) break; } ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); ret = verify10(iscsic, tgt_lun, 0, i * block_size, @@ -59,7 +60,8 @@ test_verify10_simple(void) break; } ret = read10(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); ret = verify10(iscsic, tgt_lun, num_blocks - i, diff --git a/test-tool/test_verify10_vrprotect.c b/test-tool/test_verify10_vrprotect.c index e849f0d..1408d51 100644 --- a/test-tool/test_verify10_vrprotect.c +++ b/test-tool/test_verify10_vrprotect.c @@ -41,7 +41,8 @@ test_verify10_vrprotect(void) logging(LOG_VERBOSE, "Device does not support/use protection information. All commands should fail."); for (i = 1; i < 8; i++) { ret = read10(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); ret = verify10(iscsic, tgt_lun, 0, block_size, diff --git a/test-tool/test_verify12_flags.c b/test-tool/test_verify12_flags.c index 9233754..25f61d7 100644 --- a/test-tool/test_verify12_flags.c +++ b/test-tool/test_verify12_flags.c @@ -35,8 +35,9 @@ test_verify12_flags(void) logging(LOG_VERBOSE, LOG_BLANK_LINE); logging(LOG_VERBOSE, "Test VERIFY12 flags"); - ret = read10(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, buf); + ret = read12(iscsic, tgt_lun, 0, block_size, + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); diff --git a/test-tool/test_verify12_mismatch.c b/test-tool/test_verify12_mismatch.c index be3c9c2..7de0de8 100644 --- a/test-tool/test_verify12_mismatch.c +++ b/test-tool/test_verify12_mismatch.c @@ -40,8 +40,9 @@ test_verify12_mismatch(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + ret = read12(iscsic, tgt_lun, 0, i * block_size, + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); /* flip a random byte in the data */ buf[offset] ^= 'X'; @@ -66,7 +67,8 @@ test_verify12_mismatch(void) break; } ret = read12(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ diff --git a/test-tool/test_verify12_mismatch_no_cmp.c b/test-tool/test_verify12_mismatch_no_cmp.c index 28cf446..70e9f07 100644 --- a/test-tool/test_verify12_mismatch_no_cmp.c +++ b/test-tool/test_verify12_mismatch_no_cmp.c @@ -40,8 +40,9 @@ test_verify12_mismatch_no_cmp(void) if (maximum_transfer_length && maximum_transfer_length < i) { break; } - ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + ret = read12(iscsic, tgt_lun, 0, i * block_size, + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); /* flip a random byte in the data */ buf[offset] ^= 'X'; @@ -66,7 +67,8 @@ test_verify12_mismatch_no_cmp(void) break; } ret = read12(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ diff --git a/test-tool/test_verify12_simple.c b/test-tool/test_verify12_simple.c index 43369f9..f806da4 100644 --- a/test-tool/test_verify12_simple.c +++ b/test-tool/test_verify12_simple.c @@ -39,7 +39,8 @@ test_verify12_simple(void) break; } ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); ret = verify12(iscsic, tgt_lun, 0, i * block_size, @@ -59,7 +60,8 @@ test_verify12_simple(void) break; } ret = read12(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); ret = verify12(iscsic, tgt_lun, num_blocks - i, diff --git a/test-tool/test_verify12_vrprotect.c b/test-tool/test_verify12_vrprotect.c index e13c53e..2badd62 100644 --- a/test-tool/test_verify12_vrprotect.c +++ b/test-tool/test_verify12_vrprotect.c @@ -42,8 +42,8 @@ test_verify12_vrprotect(void) for (i = 1; i < 8; i++) { ret = read10(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, buf); - + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); ret = verify12(iscsic, tgt_lun, 0, block_size, block_size, i, 0, 1, buf, EXPECT_INVALID_FIELD_IN_CDB); diff --git a/test-tool/test_verify16_flags.c b/test-tool/test_verify16_flags.c index d8cd38d..7091633 100644 --- a/test-tool/test_verify16_flags.c +++ b/test-tool/test_verify16_flags.c @@ -36,8 +36,8 @@ test_verify16_flags(void) logging(LOG_VERBOSE, "Test VERIFY16 flags"); ret = read16(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, buf); - + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); logging(LOG_VERBOSE, "Test VERIFY16 with DPO==1"); ret = verify16(iscsic, tgt_lun, 0, block_size, diff --git a/test-tool/test_verify16_mismatch.c b/test-tool/test_verify16_mismatch.c index bcce490..c15d0be 100644 --- a/test-tool/test_verify16_mismatch.c +++ b/test-tool/test_verify16_mismatch.c @@ -42,7 +42,8 @@ test_verify16_mismatch(void) } ret = read16(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); /* flip a random byte in the data */ buf[offset] ^= 'X'; @@ -68,7 +69,8 @@ test_verify16_mismatch(void) } ret = read16(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ diff --git a/test-tool/test_verify16_mismatch_no_cmp.c b/test-tool/test_verify16_mismatch_no_cmp.c index 4b35bb4..ee3268e 100644 --- a/test-tool/test_verify16_mismatch_no_cmp.c +++ b/test-tool/test_verify16_mismatch_no_cmp.c @@ -42,7 +42,8 @@ test_verify16_mismatch_no_cmp(void) } ret = read16(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); /* flip a random byte in the data */ buf[offset] ^= 'X'; @@ -68,7 +69,8 @@ test_verify16_mismatch_no_cmp(void) } ret = read16(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); /* flip a random byte in the data */ diff --git a/test-tool/test_verify16_simple.c b/test-tool/test_verify16_simple.c index 8978319..715086a 100644 --- a/test-tool/test_verify16_simple.c +++ b/test-tool/test_verify16_simple.c @@ -39,8 +39,8 @@ test_verify16_simple(void) break; } ret = read10(iscsic, tgt_lun, 0, i * block_size, - block_size, 0, 0, 0, 0, 0, buf); - + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); ret = verify16(iscsic, tgt_lun, 0, i * block_size, block_size, 0, 0, 1, buf, EXPECT_STATUS_GOOD); @@ -59,7 +59,8 @@ test_verify16_simple(void) } ret = read16(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, 0, 0, 0, 0, 0, buf); + i * block_size, block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); ret = verify16(iscsic, tgt_lun, num_blocks - i, diff --git a/test-tool/test_verify16_vrprotect.c b/test-tool/test_verify16_vrprotect.c index dc2d905..f4ff94a 100644 --- a/test-tool/test_verify16_vrprotect.c +++ b/test-tool/test_verify16_vrprotect.c @@ -42,8 +42,8 @@ test_verify16_vrprotect(void) logging(LOG_VERBOSE, "Device does not support/use protection information. All commands should fail."); for (i = 1; i < 8; i++) { ret = read16(iscsic, tgt_lun, 0, block_size, - block_size, 0, 0, 0, 0, 0, buf); - + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); ret = verify16(iscsic, tgt_lun, 0, block_size, block_size, i, 0, 1, buf, EXPECT_INVALID_FIELD_IN_CDB); diff --git a/test-tool/test_write10_residuals.c b/test-tool/test_write10_residuals.c index b3ee989..3fc6b42 100644 --- a/test-tool/test_write10_residuals.c +++ b/test-tool/test_write10_residuals.c @@ -290,7 +290,8 @@ test_write10_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read10(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); @@ -365,7 +366,8 @@ test_write10_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read10(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); diff --git a/test-tool/test_write12_residuals.c b/test-tool/test_write12_residuals.c index aebccdb..c56f406 100644 --- a/test-tool/test_write12_residuals.c +++ b/test-tool/test_write12_residuals.c @@ -290,7 +290,8 @@ test_write12_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read12(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); @@ -365,7 +366,8 @@ test_write12_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read12(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); diff --git a/test-tool/test_write16_residuals.c b/test-tool/test_write16_residuals.c index 4a9d58c..cde543e 100644 --- a/test-tool/test_write16_residuals.c +++ b/test-tool/test_write16_residuals.c @@ -285,7 +285,8 @@ test_write16_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read16(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); @@ -360,7 +361,8 @@ test_write16_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read16(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); diff --git a/test-tool/test_writesame10_unmap.c b/test-tool/test_writesame10_unmap.c index bf86961..42d62b1 100644 --- a/test-tool/test_writesame10_unmap.c +++ b/test-tool/test_writesame10_unmap.c @@ -63,8 +63,9 @@ test_writesame10_unmap(void) logging(LOG_VERBOSE, "Read %d blocks and verify they " "are now zero", i); ret = read10(iscsic, tgt_lun, 0, - i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + i * block_size, block_size, + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < block_size * i; j++) { if (buf[j] != 0) { CU_ASSERT_EQUAL(buf[j], 0); @@ -101,8 +102,9 @@ test_writesame10_unmap(void) logging(LOG_VERBOSE, "Read %d blocks and verify they " "are now zero", i); ret = read10(iscsic, tgt_lun, num_blocks - i, - i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + i * block_size, block_size, + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < block_size * i; j++) { if (buf[j] != 0) { CU_ASSERT_EQUAL(buf[j], 0); @@ -176,8 +178,9 @@ test_writesame10_unmap(void) logging(LOG_VERBOSE, "Read %d blocks and verify they " "are now zero", i); ret = read10(iscsic, tgt_lun, 0, - i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + i * block_size, block_size, + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < block_size * i; j++) { if (buf[j] != 0) { CU_ASSERT_EQUAL(buf[j], 0); diff --git a/test-tool/test_writesame10_unmap_until_end.c b/test-tool/test_writesame10_unmap_until_end.c index e3751eb..69cde77 100644 --- a/test-tool/test_writesame10_unmap_until_end.c +++ b/test-tool/test_writesame10_unmap_until_end.c @@ -66,7 +66,8 @@ test_writesame10_unmap_until_end(void) "are now zero", i); ret = read10(iscsic, tgt_lun, num_blocks - i, i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < i; j++) { CU_ASSERT_EQUAL(memcmp(buf + j*block_size, zeroBlock, block_size), 0); } diff --git a/test-tool/test_writesame16_unmap.c b/test-tool/test_writesame16_unmap.c index 498c9a5..1668402 100644 --- a/test-tool/test_writesame16_unmap.c +++ b/test-tool/test_writesame16_unmap.c @@ -68,7 +68,8 @@ test_writesame16_unmap(void) "are now zero", i); ret = read16(iscsic, tgt_lun, 0, i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < i; j++) { CU_ASSERT_EQUAL(memcmp(buf + j*block_size, zeroBlock, block_size), 0); } @@ -102,7 +103,8 @@ test_writesame16_unmap(void) "are now zero", i); ret = read16(iscsic, tgt_lun, num_blocks - i, i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < i; j++) { CU_ASSERT_EQUAL(memcmp(buf + j*block_size, zeroBlock, block_size), 0); } @@ -173,8 +175,9 @@ test_writesame16_unmap(void) logging(LOG_VERBOSE, "Read %d blocks and verify they " "are now zero", i); ret = read16(iscsic, tgt_lun, 0, - i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + i * block_size, block_size, + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < i; j++) { CU_ASSERT_EQUAL(memcmp(buf + j*block_size, zeroBlock, block_size), 0); } @@ -224,8 +227,9 @@ test_writesame16_unmap(void) logging(LOG_VERBOSE, "Read %d blocks and verify they " "are now zero", i); ret = read16(iscsic, tgt_lun, 0, - i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + i * block_size, block_size, + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < i; j++) { CU_ASSERT_EQUAL(memcmp(buf + j*block_size, zeroBlock, block_size), 0); } diff --git a/test-tool/test_writesame16_unmap_until_end.c b/test-tool/test_writesame16_unmap_until_end.c index c29c08a..3df8365 100644 --- a/test-tool/test_writesame16_unmap_until_end.c +++ b/test-tool/test_writesame16_unmap_until_end.c @@ -69,7 +69,8 @@ test_writesame16_unmap_until_end(void) "are now zero", i); ret = read16(iscsic, tgt_lun, num_blocks - i, i * block_size, block_size, - 0, 0, 0, 0, 0, buf); + 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); for (j = 0; j < i; j++) { CU_ASSERT_EQUAL(memcmp(buf + j*block_size, zeroBlock, block_size), 0); } diff --git a/test-tool/test_writeverify10_residuals.c b/test-tool/test_writeverify10_residuals.c index 85b09bd..e4af7c1 100644 --- a/test-tool/test_writeverify10_residuals.c +++ b/test-tool/test_writeverify10_residuals.c @@ -295,7 +295,8 @@ test_writeverify10_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read10(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); @@ -370,7 +371,8 @@ test_writeverify10_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read10(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); diff --git a/test-tool/test_writeverify12_residuals.c b/test-tool/test_writeverify12_residuals.c index 64f1196..f8f174b 100644 --- a/test-tool/test_writeverify12_residuals.c +++ b/test-tool/test_writeverify12_residuals.c @@ -295,7 +295,8 @@ test_writeverify12_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read12(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); @@ -370,7 +371,8 @@ test_writeverify12_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read12(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); diff --git a/test-tool/test_writeverify16_residuals.c b/test-tool/test_writeverify16_residuals.c index f5c696c..b6e62ef 100644 --- a/test-tool/test_writeverify16_residuals.c +++ b/test-tool/test_writeverify16_residuals.c @@ -296,7 +296,8 @@ test_writeverify16_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read16(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'"); @@ -371,7 +372,8 @@ test_writeverify16_residuals(void) logging(LOG_VERBOSE, "Read the two blocks"); ret = read16(iscsic, tgt_lun, 0, 2* block_size, - block_size, 0, 0, 0, 0, 0, buf); + block_size, 0, 0, 0, 0, 0, buf, + EXPECT_STATUS_GOOD); CU_ASSERT_EQUAL(ret, 0); logging(LOG_VERBOSE, "Verify that the first block was changed to 'b'");