unittest/nvme_rdma: increase code coverage for nvme_rdma.c
nvme_rdma_parse_addr and nvme_rdma_qpair_init code comprehensive coverage. Signed-off-by: ChengqiangMeng <chengqiangx.meng@intel.com> Change-Id: I7474281a2b80c092f0ed516e1da3649473eb0fa3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7337 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
This commit is contained in:
parent
9f5e3c99f2
commit
6a49507c47
@ -39,8 +39,9 @@
|
||||
#define RDMA_UT_LKEY 123
|
||||
#define RDMA_UT_RKEY 312
|
||||
|
||||
struct spdk_rdma_qp g_spdk_rdma_qp = {};
|
||||
DEFINE_STUB(spdk_rdma_qp_create, struct spdk_rdma_qp *, (struct rdma_cm_id *cm_id,
|
||||
struct spdk_rdma_qp_init_attr *qp_attr), NULL);
|
||||
struct spdk_rdma_qp_init_attr *qp_attr), &g_spdk_rdma_qp);
|
||||
DEFINE_STUB(spdk_rdma_qp_accept, int, (struct spdk_rdma_qp *spdk_rdma_qp,
|
||||
struct rdma_conn_param *conn_param), 0);
|
||||
DEFINE_STUB(spdk_rdma_qp_complete_connect, int, (struct spdk_rdma_qp *spdk_rdma_qp), 0);
|
||||
|
@ -1030,6 +1030,50 @@ test_nvme_rdma_poll_group_connect_disconnect_qpair(void)
|
||||
free(rqpair);
|
||||
}
|
||||
|
||||
static void
|
||||
test_nvme_rdma_parse_addr(void)
|
||||
{
|
||||
struct sockaddr_storage dst_addr;
|
||||
int rc = 0;
|
||||
|
||||
memset(&dst_addr, 0, sizeof(dst_addr));
|
||||
/* case1: getaddrinfo failed */
|
||||
rc = nvme_rdma_parse_addr(&dst_addr, AF_INET, NULL, NULL);
|
||||
CU_ASSERT(rc != 0);
|
||||
|
||||
/* case2: res->ai_addrlen < sizeof(*sa). Expect: Pass. */
|
||||
rc = nvme_rdma_parse_addr(&dst_addr, AF_INET, "12.34.56.78", "23");
|
||||
CU_ASSERT(rc == 0);
|
||||
CU_ASSERT(dst_addr.ss_family == AF_INET);
|
||||
}
|
||||
|
||||
static void
|
||||
test_nvme_rdma_qpair_init(void)
|
||||
{
|
||||
struct nvme_rdma_qpair rqpair = {};
|
||||
struct rdma_cm_id cm_id = {};
|
||||
struct ibv_qp qp = {};
|
||||
struct nvme_rdma_ctrlr rctrlr = {};
|
||||
int rc = 0;
|
||||
|
||||
rctrlr.ctrlr.trid.trtype = SPDK_NVME_TRANSPORT_RDMA;
|
||||
rqpair.cm_id = &cm_id;
|
||||
g_nvme_hooks.get_ibv_pd = NULL;
|
||||
rqpair.qpair.poll_group = NULL;
|
||||
rqpair.qpair.ctrlr = &rctrlr.ctrlr;
|
||||
g_spdk_rdma_qp.qp = &qp;
|
||||
|
||||
rc = nvme_rdma_qpair_init(&rqpair);
|
||||
CU_ASSERT(rc == 0);
|
||||
|
||||
CU_ASSERT(rqpair.cm_id->context == &rqpair.qpair);
|
||||
CU_ASSERT(rqpair.max_send_sge == NVME_RDMA_DEFAULT_TX_SGE);
|
||||
CU_ASSERT(rqpair.max_recv_sge == NVME_RDMA_DEFAULT_RX_SGE);
|
||||
CU_ASSERT(rqpair.current_num_sends == 0);
|
||||
CU_ASSERT(rqpair.current_num_recvs == 0);
|
||||
CU_ASSERT(rqpair.cq == (struct ibv_cq *)0xFEEDBEEF);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
CU_pSuite suite = NULL;
|
||||
@ -1055,6 +1099,8 @@ int main(int argc, char **argv)
|
||||
CU_ADD_TEST(suite, test_nvme_rdma_validate_cm_event);
|
||||
CU_ADD_TEST(suite, test_nvme_rdma_register_and_unregister_reqs);
|
||||
CU_ADD_TEST(suite, test_nvme_rdma_poll_group_connect_disconnect_qpair);
|
||||
CU_ADD_TEST(suite, test_nvme_rdma_parse_addr);
|
||||
CU_ADD_TEST(suite, test_nvme_rdma_qpair_init);
|
||||
|
||||
CU_basic_set_mode(CU_BRM_VERBOSE);
|
||||
CU_basic_run_tests();
|
||||
|
Loading…
Reference in New Issue
Block a user