Tests: Create helper macro for COMPAREANDWRITE
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
This commit is contained in:
@@ -72,17 +72,10 @@ test_compareandwrite_miscompare(void)
|
||||
"BlockLimits.MaximumCompareAndWriteLength(%d). "
|
||||
"Command should fail with INVALID_FIELD_IN_CDB",
|
||||
i, maxbl);
|
||||
ret = compareandwrite(sd, 0,
|
||||
scratch, 2 * i * block_size,
|
||||
block_size, 0, 0, 0, 0,
|
||||
EXPECT_INVALID_FIELD_IN_CDB);
|
||||
if (ret == -2) {
|
||||
CU_PASS("[SKIPPED] Target does not support "
|
||||
"COMPARE_AND_WRITE. Skipping test");
|
||||
return;
|
||||
}
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
|
||||
COMPAREANDWRITE(sd, 0,
|
||||
scratch, 2 * i * block_size,
|
||||
block_size, 0, 0, 0, 0,
|
||||
EXPECT_INVALID_FIELD_IN_CDB);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -90,16 +83,10 @@ test_compareandwrite_miscompare(void)
|
||||
|
||||
logging(LOG_VERBOSE, "Overwrite %d blocks with 'B' "
|
||||
"at LBA:0 (if they all contain 'A')", i);
|
||||
ret = compareandwrite(sd, 0,
|
||||
scratch, 2 * i * block_size, block_size,
|
||||
0, 0, 0, 0,
|
||||
EXPECT_MISCOMPARE);
|
||||
if (ret == -2) {
|
||||
CU_PASS("[SKIPPED] Target does not support "
|
||||
"COMPARE_AND_WRITE. Skipping test");
|
||||
return;
|
||||
}
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
COMPAREANDWRITE(sd, 0,
|
||||
scratch, 2 * i * block_size, block_size,
|
||||
0, 0, 0, 0,
|
||||
EXPECT_MISCOMPARE);
|
||||
|
||||
logging(LOG_VERBOSE, "Read %d blocks at LBA:0 and verify "
|
||||
"they are still unchanged as 'A'", i);
|
||||
@@ -142,12 +129,10 @@ test_compareandwrite_miscompare(void)
|
||||
"BlockLimits.MaximumCompareAndWriteLength(%d). "
|
||||
"Command should fail with INVALID_FIELD_IN_CDB",
|
||||
i, maxbl);
|
||||
ret = compareandwrite(sd, 0,
|
||||
scratch, 2 * i * block_size,
|
||||
block_size, 0, 0, 0, 0,
|
||||
EXPECT_INVALID_FIELD_IN_CDB);
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
|
||||
COMPAREANDWRITE(sd, 0,
|
||||
scratch, 2 * i * block_size,
|
||||
block_size, 0, 0, 0, 0,
|
||||
EXPECT_INVALID_FIELD_IN_CDB);
|
||||
continue;
|
||||
}
|
||||
memset(scratch + i * block_size, 'B', i * block_size);
|
||||
@@ -155,11 +140,10 @@ test_compareandwrite_miscompare(void)
|
||||
logging(LOG_VERBOSE, "Overwrite %d blocks with 'B' "
|
||||
"at LBA:%" PRIu64 " (if they all contain 'A')",
|
||||
i, num_blocks - i);
|
||||
ret = compareandwrite(sd, num_blocks - i,
|
||||
scratch, 2 * i * block_size, block_size,
|
||||
0, 0, 0, 0,
|
||||
EXPECT_MISCOMPARE);
|
||||
CU_ASSERT_EQUAL(ret, 0);
|
||||
COMPAREANDWRITE(sd, num_blocks - i,
|
||||
scratch, 2 * i * block_size, block_size,
|
||||
0, 0, 0, 0,
|
||||
EXPECT_MISCOMPARE);
|
||||
|
||||
logging(LOG_VERBOSE, "Read %d blocks at LBA:%" PRIu64
|
||||
"they are still unchanged as 'A'",
|
||||
|
||||
Reference in New Issue
Block a user