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:
parent
6202973033
commit
2fb9cd314f
@ -528,6 +528,71 @@ test_nvme_cuse_stop(void)
|
|||||||
CU_ASSERT(TAILQ_EMPTY(&g_ctrlr_ctx_head));
|
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
|
int
|
||||||
main(int argc, char **argv)
|
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_submit_io);
|
||||||
CU_ADD_TEST(suite, test_cuse_nvme_reset);
|
CU_ADD_TEST(suite, test_cuse_nvme_reset);
|
||||||
CU_ADD_TEST(suite, test_nvme_cuse_stop);
|
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_set_mode(CU_BRM_VERBOSE);
|
||||||
CU_basic_run_tests();
|
CU_basic_run_tests();
|
||||||
|
Loading…
Reference in New Issue
Block a user