Commit 906ce694 authored by Daniel Verkamp's avatar Daniel Verkamp
Browse files

ut/bdev: add spdk_bdev_io_valid() tests



Change-Id: I58fa306781fd2cd5cd2d63809cf900b03c132edc
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/372860


Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 8f823b93
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -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();