ut/bdev: add spdk_bdev_io_valid() tests

Change-Id: I58fa306781fd2cd5cd2d63809cf900b03c132edc
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/372860
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Daniel Verkamp 2017-08-04 14:25:17 -07:00
parent 8f823b93cf
commit 906ce69413

View File

@ -302,6 +302,39 @@ open_write_test(void)
}
static void
io_valid_test(void)
{
struct spdk_bdev bdev;
memset(&bdev, 0, sizeof(bdev));
bdev.blocklen = 512;
bdev.blockcnt = 100;
/* All parameters valid */
CU_ASSERT(spdk_bdev_io_valid(&bdev, 512, 1024) == true);
/* Offset not a block multiple */
/* TODO: add a check for this in spdk_bdev_io_valid() */
/* CU_ASSERT(spdk_bdev_io_valid(&bdev, 3, 512) == false); */
/* Length not a block multiple */
CU_ASSERT(spdk_bdev_io_valid(&bdev, 512, 3) == false);
/* Last valid block */
CU_ASSERT(spdk_bdev_io_valid(&bdev, 50688, 512) == true);
/* Offset past end of bdev */
CU_ASSERT(spdk_bdev_io_valid(&bdev, 51200, 512) == false);
/* Offset + length past end of bdev */
CU_ASSERT(spdk_bdev_io_valid(&bdev, 50688, 1024) == false);
/* Offset near end of uint64_t range (2^64 - 512) */
CU_ASSERT(spdk_bdev_io_valid(&bdev, 18446744073709551104ULL, 512) == false);
}
int
main(int argc, char **argv)
{
@ -319,6 +352,7 @@ main(int argc, char **argv)
}
if (
CU_add_test(suite, "io_valid", io_valid_test) == NULL ||
CU_add_test(suite, "open_write", open_write_test) == NULL
) {
CU_cleanup_registry();