TESTS: Update the READ10 tests for the new test tool
This commit is contained in:
@@ -27,62 +27,45 @@
|
||||
void
|
||||
test_read10_beyond_eol(void)
|
||||
{
|
||||
int i;
|
||||
int i, ret;
|
||||
|
||||
if (num_blocks >= 0x80000000) {
|
||||
CU_PASS("LUN is too big for read-beyond-eol tests with READ10. Skipping test.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
/* read 1-256 blocks, one block beyond the end-of-lun */
|
||||
|
||||
logging(LOG_VERBOSE, "\nTest READ10 1-256 blocks one block beyond the end");
|
||||
for (i = 1; i <= 256; i++) {
|
||||
task = iscsi_read10_sync(iscsic, tgt_lun, num_blocks + 2 - i,
|
||||
i * block_size, block_size, 0, 0, 0, 0, 0);
|
||||
CU_ASSERT_PTR_NOT_NULL(task);
|
||||
CU_ASSERT_NOT_EQUAL(task->status, SCSI_STATUS_GOOD);
|
||||
CU_ASSERT_EQUAL(task->status, SCSI_STATUS_CHECK_CONDITION);
|
||||
CU_ASSERT_EQUAL(task->sense.key, SCSI_SENSE_ILLEGAL_REQUEST);
|
||||
CU_ASSERT_EQUAL(task->sense.ascq, SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE);
|
||||
scsi_free_scsi_task(task);
|
||||
task = NULL;
|
||||
ret = read10_lbaoutofrange(iscsic, tgt_lun, num_blocks + 2 - i,
|
||||
i * block_size, block_size,
|
||||
0, 0, 0, 0, 0, NULL);
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
}
|
||||
|
||||
/* Reading 1-256 blocks at LBA 2^31 */
|
||||
|
||||
logging(LOG_VERBOSE, "Test READ10 1-256 blocks at LBA==2^31");
|
||||
for (i = 1; i <= 256; i++) {
|
||||
task = iscsi_read10_sync(iscsic, tgt_lun, 0x80000000,
|
||||
i * block_size, block_size, 0, 0, 0, 0, 0);
|
||||
CU_ASSERT_PTR_NOT_NULL(task);
|
||||
CU_ASSERT_NOT_EQUAL(task->status, SCSI_STATUS_GOOD);
|
||||
CU_ASSERT_EQUAL(task->status, SCSI_STATUS_CHECK_CONDITION);
|
||||
CU_ASSERT_EQUAL(task->sense.key, SCSI_SENSE_ILLEGAL_REQUEST);
|
||||
CU_ASSERT_EQUAL(task->sense.ascq, SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE);
|
||||
scsi_free_scsi_task(task);
|
||||
task = NULL;
|
||||
ret = read10_lbaoutofrange(iscsic, tgt_lun, 0x80000000,
|
||||
i * block_size, block_size,
|
||||
0, 0, 0, 0, 0, NULL);
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
}
|
||||
|
||||
/* read 1 - 256 blocks at LBA -1 */
|
||||
|
||||
logging(LOG_VERBOSE, "Test READ10 1-256 blocks at LBA==-1");
|
||||
for (i = 1; i <= 256; i++) {
|
||||
task = iscsi_read10_sync(iscsic, tgt_lun, -1, i * block_size,
|
||||
block_size, 0, 0, 0, 0, 0);
|
||||
CU_ASSERT_PTR_NOT_NULL(task);
|
||||
CU_ASSERT_NOT_EQUAL(task->status, SCSI_STATUS_GOOD);
|
||||
CU_ASSERT_EQUAL(task->status, SCSI_STATUS_CHECK_CONDITION);
|
||||
CU_ASSERT_EQUAL(task->sense.key, SCSI_SENSE_ILLEGAL_REQUEST);
|
||||
CU_ASSERT_EQUAL(task->sense.ascq, SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE);
|
||||
scsi_free_scsi_task(task);
|
||||
task = NULL;
|
||||
ret = read10_lbaoutofrange(iscsic, tgt_lun, -1, i * block_size,
|
||||
block_size, 0, 0, 0, 0, 0, NULL);
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
}
|
||||
|
||||
/* read 2-256 blocks, all but one block beyond the eol */
|
||||
|
||||
logging(LOG_VERBOSE, "Test READ10 2-256 blocks all but one block beyond the end");
|
||||
for (i = 2; i <= 256; i++) {
|
||||
task = iscsi_read10_sync(iscsic, tgt_lun, num_blocks,
|
||||
i * block_size, block_size, 0, 0, 0, 0, 0);
|
||||
CU_ASSERT_PTR_NOT_NULL(task);
|
||||
CU_ASSERT_NOT_EQUAL(task->status, SCSI_STATUS_GOOD);
|
||||
CU_ASSERT_EQUAL(task->status, SCSI_STATUS_CHECK_CONDITION);
|
||||
CU_ASSERT_EQUAL(task->sense.key, SCSI_SENSE_ILLEGAL_REQUEST);
|
||||
CU_ASSERT_EQUAL(task->sense.ascq, SCSI_SENSE_ASCQ_LBA_OUT_OF_RANGE);
|
||||
scsi_free_scsi_task(task);
|
||||
task = NULL;
|
||||
ret = read10_lbaoutofrange(iscsic, tgt_lun, num_blocks,
|
||||
i * block_size, block_size,
|
||||
0, 0, 0, 0, 0, NULL);
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user