Tests: Add helped for UNMAP

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
This commit is contained in:
Ronnie Sahlberg
2016-02-21 12:59:01 -08:00
parent d3913ee864
commit 80e06cae30
3 changed files with 29 additions and 23 deletions

View File

@@ -476,6 +476,20 @@ do { \
CU_ASSERT_EQUAL(_r, 0); \
} while (0);
#define UNMAP(...) \
do { \
int _r; \
_r = unmap(__VA_ARGS__); \
if (_r == -2) { \
logging(LOG_NORMAL, "[SKIPPED] UNMAP " \
"is not implemented."); \
CU_PASS("[SKIPPED] Target does not support " \
"UNMAP. Skipping test"); \
return; \
} \
CU_ASSERT_EQUAL(_r, 0); \
} while (0);
#define VERIFY10(...) \
do { \
int _r; \

View File

@@ -29,7 +29,7 @@
void
test_unmap_0blocks(void)
{
int i, ret;
int i;
struct unmap_list list[257];
CHECK_FOR_DATALOSS;
@@ -41,23 +41,19 @@ test_unmap_0blocks(void)
for (i = 0; i < 256; i++) {
list[0].lba = i;
list[0].num = 0;
ret = unmap(sd, 0, list, 1,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, 1,
EXPECT_STATUS_GOOD);
}
logging(LOG_VERBOSE, "Test UNMAP of 0 blocks at end-of-LUN");
list[0].lba = num_blocks;
list[0].num = 0;
ret = unmap(sd, 0, list, 1,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, 1,
EXPECT_STATUS_GOOD);
logging(LOG_VERBOSE, "Test UNMAP without any descriptors.");
ret = unmap(sd, 0, list, 0,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, 0,
EXPECT_STATUS_GOOD);
if (inq_bl->max_unmap_bdc <= 1) {
CU_PASS("[SKIPPING] Test UNMAP of 0 blocks with multiple descriptos not supported");
@@ -68,9 +64,8 @@ test_unmap_0blocks(void)
for (i = 0; i < 256; i++) {
list[i].lba = i;
list[i].num = 0;
ret = unmap(sd, 0, list, i + 1,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, i + 1,
EXPECT_STATUS_GOOD);
}
logging(LOG_VERBOSE, "Test UNMAP of 0 blocks at LBA:0-255 with one descriptor per block, possibly \"overlapping\".");
@@ -78,7 +73,6 @@ test_unmap_0blocks(void)
list[i].lba = i/2;
list[i].num = 0;
}
ret = unmap(sd, 0, list, 256,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, 256,
EXPECT_STATUS_GOOD);
}

View File

@@ -53,9 +53,8 @@ test_unmap_simple(void)
logging(LOG_VERBOSE, "UNMAP blocks 0-%d", i);
list[0].lba = 0;
list[0].num = i;
ret = unmap(sd, 0, list, 1,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, 1,
EXPECT_STATUS_GOOD);
logging(LOG_VERBOSE, "Read blocks 0-%d", i);
READ10(sd, NULL, 0, i * block_size,
@@ -90,9 +89,8 @@ test_unmap_simple(void)
for (i = 0; i < 256; i++) {
list[i].lba = i;
list[i].num = 1;
ret = unmap(sd, 0, list, i + 1,
EXPECT_STATUS_GOOD);
CU_ASSERT_EQUAL(ret, 0);
UNMAP(sd, 0, list, i + 1,
EXPECT_STATUS_GOOD);
logging(LOG_VERBOSE, "Read blocks 0-%d", i);
READ10(sd, NULL, 0, i * block_size,