Tests: Add helpers for WRITESAME

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
This commit is contained in:
Ronnie Sahlberg
2016-02-21 08:57:26 -08:00
parent 4d1e3aecd0
commit 0b5b724f17
15 changed files with 169 additions and 276 deletions

View File

@@ -29,7 +29,7 @@
void
test_writesame16_beyond_eol(void)
{
int i, ret;
int i;
CHECK_FOR_DATALOSS;
CHECK_FOR_SBC;
@@ -38,41 +38,28 @@ test_writesame16_beyond_eol(void)
logging(LOG_VERBOSE, "Test WRITESAME16 1-256 blocks one block beyond the end");
memset(scratch, 0, block_size);
for (i = 1; i <= 256; i++) {
ret = writesame16(sd, num_blocks - i + 1,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
if (ret == -2) {
logging(LOG_NORMAL, "[SKIPPED] WRITESAME16 is not implemented.");
CU_PASS("[SKIPPED] Target does not support WRITESAME16. Skipping test");
return;
}
CU_ASSERT_EQUAL(ret, 0);
WRITESAME16(sd, num_blocks - i + 1,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
}
logging(LOG_VERBOSE, "Test WRITESAME16 1-256 blocks at LBA==2^63");
for (i = 1; i <= 256; i++) {
ret = writesame16(sd, 0x8000000000000000ULL,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
CU_ASSERT_EQUAL(ret, 0);
WRITESAME16(sd, 0x8000000000000000ULL,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
}
logging(LOG_VERBOSE, "Test WRITESAME16 1-256 blocks at LBA==-1");
for (i = 1; i <= 256; i++) {
ret = writesame16(sd, -1,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
CU_ASSERT_EQUAL(ret, 0);
WRITESAME16(sd, -1, block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
}
logging(LOG_VERBOSE, "Test WRITESAME16 2-256 blocks all but one block beyond the end");
for (i = 2; i <= 256; i++) {
ret = writesame16(sd, num_blocks - 1,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
CU_ASSERT_EQUAL(ret, 0);
WRITESAME16(sd, num_blocks - 1,
block_size, i, 0, 0, 0, 0, scratch,
EXPECT_LBA_OOB);
}
}