From 3eda8bf6d3e7447d6b2d9ad6435ef478c472f0aa Mon Sep 17 00:00:00 2001 From: Maciej Szwed Date: Thu, 9 Jan 2020 13:48:31 +0100 Subject: [PATCH] unit/bdev: Extract common code for comparev tests Upcoming patch will use most of the comparev test code so let's reuse it. Signed-off-by: Maciej Szwed Change-Id: Ibc6230d38da224bfcf25f76fe1d834d48200bfd9 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479832 Community-CI: Broadcom SPDK FC-NVMe CI Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris --- test/unit/lib/bdev/bdev.c/bdev_ut.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/test/unit/lib/bdev/bdev.c/bdev_ut.c b/test/unit/lib/bdev/bdev.c/bdev_ut.c index 73c735289..74ea2c72d 100644 --- a/test/unit/lib/bdev/bdev.c/bdev_ut.c +++ b/test/unit/lib/bdev/bdev.c/bdev_ut.c @@ -2192,7 +2192,7 @@ bdev_histograms(void) } static void -bdev_compare_emulated(void) +_bdev_compare(bool emulated) { struct spdk_bdev *bdev; struct spdk_bdev_desc *desc = NULL; @@ -2203,12 +2203,19 @@ bdev_compare_emulated(void) char aa_buf[512]; char bb_buf[512]; struct iovec compare_iov; + uint8_t io_type; int rc; + if (emulated) { + io_type = SPDK_BDEV_IO_TYPE_READ; + } else { + io_type = SPDK_BDEV_IO_TYPE_COMPARE; + } + memset(aa_buf, 0xaa, sizeof(aa_buf)); memset(bb_buf, 0xbb, sizeof(bb_buf)); - g_io_types_supported[SPDK_BDEV_IO_TYPE_COMPARE] = false; + g_io_types_supported[SPDK_BDEV_IO_TYPE_COMPARE] = !emulated; spdk_bdev_initialize(bdev_init_cb, NULL); fn_table.submit_request = stub_submit_request_get_buf; @@ -2228,7 +2235,7 @@ bdev_compare_emulated(void) compare_iov.iov_base = aa_buf; compare_iov.iov_len = sizeof(aa_buf); - expected_io = ut_alloc_expected_io(SPDK_BDEV_IO_TYPE_READ, offset, num_blocks, 0); + expected_io = ut_alloc_expected_io(io_type, offset, num_blocks, 0); TAILQ_INSERT_TAIL(&g_bdev_ut_channel->expected_io, expected_io, link); g_io_done = false; @@ -2241,7 +2248,7 @@ bdev_compare_emulated(void) CU_ASSERT(g_io_done == true); CU_ASSERT(g_io_status == SPDK_BDEV_IO_STATUS_SUCCESS); - expected_io = ut_alloc_expected_io(SPDK_BDEV_IO_TYPE_READ, offset, num_blocks, 0); + expected_io = ut_alloc_expected_io(io_type, offset, num_blocks, 0); TAILQ_INSERT_TAIL(&g_bdev_ut_channel->expected_io, expected_io, link); g_io_done = false; @@ -2266,6 +2273,12 @@ bdev_compare_emulated(void) g_compare_read_buf = NULL; } +static void +bdev_compare(void) +{ + _bdev_compare(true); +} + static void bdev_compare_and_write(void) { @@ -3118,7 +3131,7 @@ main(int argc, char **argv) CU_add_test(suite, "bdev_histograms", bdev_histograms) == NULL || CU_add_test(suite, "bdev_write_zeroes", bdev_write_zeroes) == NULL || CU_add_test(suite, "bdev_compare_and_write", bdev_compare_and_write) == NULL || - CU_add_test(suite, "bdev_compare_emulated", bdev_compare_emulated) == NULL || + CU_add_test(suite, "bdev_compare", bdev_compare) == NULL || CU_add_test(suite, "bdev_open_while_hotremove", bdev_open_while_hotremove) == NULL || CU_add_test(suite, "bdev_close_while_hotremove", bdev_close_while_hotremove) == NULL || CU_add_test(suite, "bdev_open_ext", bdev_open_ext) == NULL ||