test/nvme/nvme_c: id parse and compare
Change-Id: I6185bebaa362a065ff7cbdaec2229ceab171a30a Signed-off-by: Lu Fan <lux.fan@intel.com> Reviewed-on: https://review.gerrithub.io/364180 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
c33dfd741e
commit
7a7593c0d4
@ -144,6 +144,13 @@ nvme_ctrlr_get_ref_count(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
memset_trid(struct spdk_nvme_transport_id *trid1, struct spdk_nvme_transport_id *trid2)
|
||||||
|
{
|
||||||
|
memset(trid1, 0, sizeof(struct spdk_nvme_transport_id));
|
||||||
|
memset(trid2, 0, sizeof(struct spdk_nvme_transport_id));
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_opc_data_transfer(void)
|
test_opc_data_transfer(void)
|
||||||
{
|
{
|
||||||
@ -163,10 +170,28 @@ test_opc_data_transfer(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_trid_parse(void)
|
test_trid_parse_and_compare(void)
|
||||||
{
|
{
|
||||||
struct spdk_nvme_transport_id trid1, trid2;
|
struct spdk_nvme_transport_id trid1, trid2;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* set trid1 trid2 value to id parse */
|
||||||
|
ret = spdk_nvme_transport_id_parse(NULL, "trtype:PCIe traddr:0000:04:00.0");
|
||||||
|
CU_ASSERT(ret == -EINVAL);
|
||||||
|
memset(&trid1, 0, sizeof(trid1));
|
||||||
|
ret = spdk_nvme_transport_id_parse(&trid1, NULL);
|
||||||
|
CU_ASSERT(ret == -EINVAL);
|
||||||
|
ret = spdk_nvme_transport_id_parse(NULL, NULL);
|
||||||
|
CU_ASSERT(ret == -EINVAL);
|
||||||
|
memset(&trid1, 0, sizeof(trid1));
|
||||||
|
ret = spdk_nvme_transport_id_parse(&trid1, "trtype-PCIe traddr-0000-04-00.0");
|
||||||
|
CU_ASSERT(ret == -EINVAL);
|
||||||
|
memset(&trid1, 0, sizeof(trid1));
|
||||||
|
ret = spdk_nvme_transport_id_parse(&trid1, "trtype-PCIe traddr-0000-04-00.0-:");
|
||||||
|
CU_ASSERT(ret == -EINVAL);
|
||||||
|
memset(&trid1, 0, sizeof(trid1));
|
||||||
|
ret = spdk_nvme_transport_id_parse(&trid1, " \t\n:");
|
||||||
|
CU_ASSERT(ret == -EINVAL);
|
||||||
memset(&trid1, 0, sizeof(trid1));
|
memset(&trid1, 0, sizeof(trid1));
|
||||||
CU_ASSERT(spdk_nvme_transport_id_parse(&trid1,
|
CU_ASSERT(spdk_nvme_transport_id_parse(&trid1,
|
||||||
"trtype:rdma\n"
|
"trtype:rdma\n"
|
||||||
@ -186,6 +211,35 @@ test_trid_parse(void)
|
|||||||
CU_ASSERT(strcmp(trid2.traddr, "0000:04:00.0") == 0);
|
CU_ASSERT(strcmp(trid2.traddr, "0000:04:00.0") == 0);
|
||||||
|
|
||||||
CU_ASSERT(spdk_nvme_transport_id_compare(&trid1, &trid2) != 0);
|
CU_ASSERT(spdk_nvme_transport_id_compare(&trid1, &trid2) != 0);
|
||||||
|
|
||||||
|
/* set trid1 trid2 and test id_compare */
|
||||||
|
memset_trid(&trid1, &trid2);
|
||||||
|
trid1.adrfam = SPDK_NVMF_ADRFAM_IPV6;
|
||||||
|
trid2.adrfam = SPDK_NVMF_ADRFAM_IPV4;
|
||||||
|
ret = spdk_nvme_transport_id_compare(&trid1, &trid2);
|
||||||
|
CU_ASSERT(ret > 0);
|
||||||
|
|
||||||
|
memset_trid(&trid1, &trid2);
|
||||||
|
snprintf(trid1.traddr, sizeof(trid1.traddr), "192.168.100.8");
|
||||||
|
snprintf(trid2.traddr, sizeof(trid2.traddr), "192.168.100.9");
|
||||||
|
ret = spdk_nvme_transport_id_compare(&trid1, &trid2);
|
||||||
|
CU_ASSERT(ret < 0);
|
||||||
|
|
||||||
|
memset_trid(&trid1, &trid2);
|
||||||
|
snprintf(trid1.trsvcid, sizeof(trid1.trsvcid), "4420");
|
||||||
|
snprintf(trid2.trsvcid, sizeof(trid2.trsvcid), "4421");
|
||||||
|
ret = spdk_nvme_transport_id_compare(&trid1, &trid2);
|
||||||
|
CU_ASSERT(ret < 0);
|
||||||
|
|
||||||
|
memset_trid(&trid1, &trid2);
|
||||||
|
snprintf(trid1.subnqn, sizeof(trid1.subnqn), "subnqn:nqn.2016-08.org.nvmexpress.discovery");
|
||||||
|
snprintf(trid2.subnqn, sizeof(trid2.subnqn), "subnqn:nqn.2017-08.org.nvmexpress.discovery");
|
||||||
|
ret = spdk_nvme_transport_id_compare(&trid1, &trid2);
|
||||||
|
CU_ASSERT(ret < 0);
|
||||||
|
|
||||||
|
memset_trid(&trid1, &trid2);
|
||||||
|
ret = spdk_nvme_transport_id_compare(&trid1, &trid2);
|
||||||
|
CU_ASSERT(ret == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -315,7 +369,7 @@ int main(int argc, char **argv)
|
|||||||
test_spdk_nvme_transport_id_parse_trtype) == NULL ||
|
test_spdk_nvme_transport_id_parse_trtype) == NULL ||
|
||||||
CU_add_test(suite, "test_spdk_nvme_transport_id_parse_adrfam",
|
CU_add_test(suite, "test_spdk_nvme_transport_id_parse_adrfam",
|
||||||
test_spdk_nvme_transport_id_parse_adrfam) == NULL ||
|
test_spdk_nvme_transport_id_parse_adrfam) == NULL ||
|
||||||
CU_add_test(suite, "test_trid_parse", test_trid_parse) == NULL
|
CU_add_test(suite, "test_trid_parse_and_compare", test_trid_parse_and_compare) == NULL
|
||||||
) {
|
) {
|
||||||
CU_cleanup_registry();
|
CU_cleanup_registry();
|
||||||
return CU_get_error();
|
return CU_get_error();
|
||||||
|
Loading…
Reference in New Issue
Block a user