UT/nvme_cuse: test for spdk_nvme_cuse_get_ctrlr_name

Signed-off-by: KanKuo <kuox.kan@intel.com>
Change-Id: I425d108d0c1bed6d8302e1fb47a785ddf85e3095
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10432
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
This commit is contained in:
KanKuo 2022-10-21 10:15:54 +08:00 committed by Tomasz Zawadzki
parent 6202973033
commit 2fb9cd314f

View File

@ -528,6 +528,71 @@ test_nvme_cuse_stop(void)
CU_ASSERT(TAILQ_EMPTY(&g_ctrlr_ctx_head));
}
static void
test_spdk_nvme_cuse_get_ctrlr_name(void)
{
int rc_ctrlr = 0;
int rc_ns = 0;
uint32_t nsid = 0;
const uint32_t NSID1 = 12;
const uint32_t NSID2 = 22;
size_t name_size = 0;
char name_ctrlr[128] = "unit_test_ctrlr_dev_name";
char name_ns_1[128] = "unit_test_ns_dev_name_1";
char name_ns_2[128] = "unit_test_ns_dev_name_2";
char rt_name_ctrlr[128];
char rt_name_ns[128];
struct spdk_nvme_ctrlr ctrlr = {};
struct cuse_device ctrlr_device = {};
struct cuse_device ns_dev1 = {};
struct cuse_device ns_dev2 = {};
ctrlr_device.ctrlr = &ctrlr;
memcpy(ctrlr_device.dev_name, name_ctrlr, sizeof(ctrlr_device.dev_name));
TAILQ_INIT(&ctrlr_device.ns_devices);
ns_dev1.nsid = NSID1;
ns_dev2.nsid = NSID2;
memcpy(ns_dev1.dev_name, name_ns_1, sizeof(ns_dev1.dev_name));
memcpy(ns_dev2.dev_name, name_ns_2, sizeof(ns_dev2.dev_name));
TAILQ_INIT(&g_ctrlr_ctx_head);
TAILQ_INIT(&ctrlr_device.ns_devices);
TAILQ_INSERT_TAIL(&g_ctrlr_ctx_head, &ctrlr_device, tailq);
TAILQ_INSERT_TAIL(&ctrlr_device.ns_devices, &ns_dev1, tailq);
TAILQ_INSERT_TAIL(&ctrlr_device.ns_devices, &ns_dev2, tailq);
/* Test case: Give a null spdk_nvme_ctrlr to find cuse_device. Expect: Return -ENODEV failed */
rc_ctrlr = spdk_nvme_cuse_get_ctrlr_name(NULL, rt_name_ctrlr, &name_size);
CU_ASSERT(rc_ctrlr == -ENODEV);
rc_ns = spdk_nvme_cuse_get_ns_name(NULL, nsid, rt_name_ctrlr, &name_size);
CU_ASSERT(rc_ns == -ENODEV);
/* Test case: Give a wrong nsid to find cuse_device. Expect: Return -ENODEV failed */
rc_ns = spdk_nvme_cuse_get_ns_name(&ctrlr, nsid, rt_name_ns, &name_size);
CU_ASSERT(rc_ns == -ENODEV);
/* Test case: Let parameter size<sizeof(dev_name). Expect: Return -ENOSPC failed */
name_size = 0;
rc_ctrlr = spdk_nvme_cuse_get_ctrlr_name(&ctrlr, rt_name_ctrlr, &name_size);
CU_ASSERT(rc_ctrlr == -ENOSPC);
name_size = 0;
rc_ns = spdk_nvme_cuse_get_ns_name(&ctrlr, NSID1, rt_name_ns, &name_size);
CU_ASSERT(rc_ns == -ENOSPC);
/* Test case: All parameters is conformed to function. Expect: Success */
name_size = 128;
rc_ctrlr = spdk_nvme_cuse_get_ctrlr_name(&ctrlr, rt_name_ctrlr, &name_size);
CU_ASSERT(rc_ctrlr == 0);
rc_ns = spdk_nvme_cuse_get_ns_name(&ctrlr, NSID1, rt_name_ns, &name_size);
CU_ASSERT(rc_ns == 0);
CU_ASSERT(strncmp(rt_name_ctrlr, name_ctrlr, sizeof(name_ctrlr)) == 0);
CU_ASSERT(strncmp(rt_name_ns, name_ns_1, sizeof(name_ns_1)) == 0);
}
int
main(int argc, char **argv)
{
@ -546,6 +611,7 @@ main(int argc, char **argv)
CU_ADD_TEST(suite, test_cuse_nvme_submit_io);
CU_ADD_TEST(suite, test_cuse_nvme_reset);
CU_ADD_TEST(suite, test_nvme_cuse_stop);
CU_ADD_TEST(suite, test_spdk_nvme_cuse_get_ctrlr_name);
CU_basic_set_mode(CU_BRM_VERBOSE);
CU_basic_run_tests();