From 36adf2d68c25800caa1e45ac2f6fa5e94e6e2868 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Wed, 15 Aug 2018 14:02:38 -0700 Subject: [PATCH] test: Use ut_multithread framework in lvol unit test Change-Id: I618c0ee6034cc082a7370e19d91b3f90ac3b589d Signed-off-by: Ben Walker Reviewed-on: https://review.gerrithub.io/422468 Tested-by: SPDK CI Jenkins Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu Reviewed-by: Jim Harris Chandler-Test-Pool: SPDK Automated Test System --- test/unit/lib/lvol/lvol.c/lvol_ut.c | 110 ++-------------------------- 1 file changed, 6 insertions(+), 104 deletions(-) diff --git a/test/unit/lib/lvol/lvol.c/lvol_ut.c b/test/unit/lib/lvol/lvol.c/lvol_ut.c index 7c8045f43..ae32b01ad 100644 --- a/test/unit/lib/lvol/lvol.c/lvol_ut.c +++ b/test/unit/lib/lvol/lvol.c/lvol_ut.c @@ -36,7 +36,7 @@ #include "spdk/thread.h" #include "spdk/util.h" -#include "common/lib/test_env.c" +#include "common/lib/ut_multithread.c" #include "lvol/lvol.c" @@ -458,12 +458,6 @@ spdk_bs_create_clone(struct spdk_blob_store *bs, spdk_blob_id blobid, spdk_bs_create_blob_ext(bs, NULL, cb_fn, cb_arg); } -static void -_lvol_send_msg(spdk_msg_fn fn, void *ctx, void *thread_ctx) -{ - fn(ctx); -} - static void lvol_store_op_with_handle_complete(void *cb_arg, struct spdk_lvol_store *lvol_store, int lvserrno) { @@ -511,7 +505,6 @@ lvs_init_unload_success(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -548,8 +541,6 @@ lvs_init_unload_success(void) CU_ASSERT(TAILQ_EMPTY(&g_lvol_stores)); free_dev(&dev); - - spdk_free_thread(); } static void @@ -561,7 +552,6 @@ lvs_init_destroy_success(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -593,8 +583,6 @@ lvs_init_destroy_success(void) CU_ASSERT(rc == 0); CU_ASSERT(g_lvserrno == 0); g_lvol_store = NULL; - - spdk_free_thread(); } static void @@ -606,8 +594,6 @@ lvs_init_opts_success(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - g_lvserrno = -1; spdk_lvs_opts_init(&opts); @@ -626,8 +612,6 @@ lvs_init_opts_success(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -635,14 +619,10 @@ lvs_unload_lvs_is_null_fail(void) { int rc = 0; - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - g_lvserrno = -1; rc = spdk_lvs_unload(NULL, lvol_store_op_complete, NULL); CU_ASSERT(rc == -ENODEV); CU_ASSERT(g_lvserrno == -1); - - spdk_free_thread(); } static void @@ -657,8 +637,6 @@ lvs_names(void) init_dev(&dev_y); init_dev(&dev_x2); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts_none); spdk_lvs_opts_init(&opts_x); opts_x.name[0] = 'x'; @@ -750,8 +728,6 @@ lvs_names(void) rc = spdk_lvs_destroy(lvs_y, lvol_store_op_complete, NULL); CU_ASSERT(rc == 0); CU_ASSERT(g_lvserrno == 0); - - spdk_free_thread(); } static void @@ -763,8 +739,6 @@ lvol_create_destroy_success(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -790,8 +764,6 @@ lvol_create_destroy_success(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -803,8 +775,6 @@ lvol_create_fail(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -837,8 +807,6 @@ lvol_create_fail(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -850,8 +818,6 @@ lvol_destroy_fail(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -876,8 +842,6 @@ lvol_destroy_fail(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -889,8 +853,6 @@ lvol_close_fail(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -913,8 +875,6 @@ lvol_close_fail(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -926,8 +886,6 @@ lvol_close_success(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -951,8 +909,6 @@ lvol_close_success(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -964,8 +920,6 @@ lvol_resize(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1021,8 +975,6 @@ lvol_resize(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1048,8 +1000,6 @@ lvs_load(void) snprintf(bs_opts.bstype.bstype, sizeof(bs_opts.bstype.bstype), "LVOLSTORE"); spdk_bs_init(&dev.bs_dev, &bs_opts, null_cb, NULL); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - /* Fail on bs load */ dev.load_status = -1; CU_ASSERT(TAILQ_EMPTY(&g_lvol_stores)); @@ -1120,8 +1070,6 @@ lvs_load(void) free(req); free_dev(&dev); - - spdk_free_thread(); } static void @@ -1173,8 +1121,6 @@ lvols_load(void) spdk_blob_set_xattr(blob3, "name", "lvol3", strnlen("lvol3", SPDK_LVOL_NAME_MAX) + 1); blob3->uuid[SPDK_UUID_STRING_LEN - 2] = '3'; - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - /* Load lvs with 0 blobs */ g_lvserrno = 0; spdk_lvs_load(&dev.bs_dev, lvol_store_op_with_handle_complete, req); @@ -1231,8 +1177,6 @@ lvols_load(void) free(req); free_dev(&dev); - - spdk_free_thread(); } static void @@ -1284,8 +1228,6 @@ lvol_open(void) spdk_blob_set_xattr(blob3, "name", "lvol3", strnlen("lvol3", SPDK_LVOL_NAME_MAX) + 1); blob3->uuid[SPDK_UUID_STRING_LEN - 2] = '3'; - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - TAILQ_INSERT_TAIL(&dev.bs->blobs, blob1, link); TAILQ_INSERT_TAIL(&dev.bs->blobs, blob2, link); TAILQ_INSERT_TAIL(&dev.bs->blobs, blob3, link); @@ -1331,8 +1273,6 @@ lvol_open(void) free(blob1); free(blob2); free(blob3); - - spdk_free_thread(); } static void @@ -1345,8 +1285,6 @@ lvol_snapshot(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1382,8 +1320,6 @@ lvol_snapshot(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1396,8 +1332,6 @@ lvol_snapshot_fail(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1449,8 +1383,6 @@ lvol_snapshot_fail(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1464,8 +1396,6 @@ lvol_clone(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1512,8 +1442,6 @@ lvol_clone(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1528,8 +1456,6 @@ lvol_clone_fail(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1590,8 +1516,6 @@ lvol_clone_fail(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1606,8 +1530,6 @@ lvol_names(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1689,8 +1611,6 @@ lvol_names(void) CU_ASSERT(rc == 0); CU_ASSERT(g_lvserrno == 0); g_lvol_store = NULL; - - spdk_free_thread(); } static void @@ -1704,8 +1624,6 @@ lvol_rename(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1762,8 +1680,6 @@ lvol_rename(void) CU_ASSERT(rc == 0); CU_ASSERT(g_lvserrno == 0); g_lvol_store = NULL; - - spdk_free_thread(); } static void @@ -1776,8 +1692,6 @@ lvs_rename(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); g_lvserrno = -1; @@ -1844,8 +1758,6 @@ lvs_rename(void) CU_ASSERT(rc == 0); CU_ASSERT(g_lvserrno == 0); g_lvol_store = NULL; - - spdk_free_thread(); } static void lvol_refcnt(void) { @@ -1856,7 +1768,6 @@ static void lvol_refcnt(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1906,8 +1817,6 @@ static void lvol_refcnt(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1919,8 +1828,6 @@ lvol_create_thin_provisioned(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -1959,8 +1866,6 @@ lvol_create_thin_provisioned(void) g_lvol_store = NULL; free_dev(&dev); - - spdk_free_thread(); } static void @@ -1972,8 +1877,6 @@ lvol_inflate(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -2012,8 +1915,6 @@ lvol_inflate(void) * inflate call */ CU_ASSERT(g_io_channel == NULL); - - spdk_free_thread(); } static void @@ -2025,8 +1926,6 @@ lvol_decouple_parent(void) init_dev(&dev); - spdk_allocate_thread(_lvol_send_msg, NULL, NULL, NULL, NULL); - spdk_lvs_opts_init(&opts); snprintf(opts.name, sizeof(opts.name), "lvs"); @@ -2065,8 +1964,6 @@ lvol_decouple_parent(void) * inflate call */ CU_ASSERT(g_io_channel == NULL); - - spdk_free_thread(); } int main(int argc, char **argv) @@ -2118,10 +2015,15 @@ int main(int argc, char **argv) return CU_get_error(); } + allocate_threads(1); + set_thread(0); + CU_basic_set_mode(CU_BRM_VERBOSE); CU_basic_run_tests(); num_failures = CU_get_number_of_failures(); CU_cleanup_registry(); + free_threads(); + return num_failures; }