From 46b4ec7f2828bd0096fa26b3108dd07779319caa Mon Sep 17 00:00:00 2001 From: xiaoxiangxzhang Date: Fri, 18 Nov 2022 15:50:39 +0800 Subject: [PATCH] UT/nvme_tcp:test for nvme_tcp_poll_group_get_stats Signed-off-by: Xiaoxiang Zhang Change-Id: Iee5e0fbf349834d296e459f302e7fbbf0dce98d3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15518 Reviewed-by: Changpeng Liu Reviewed-by: Jim Harris Tested-by: SPDK CI Jenkins --- test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c | 39 +++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c b/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c index cf8c93873..e45ad311e 100644 --- a/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c +++ b/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c @@ -1533,6 +1533,44 @@ test_nvme_tcp_ctrlr_delete_io_qpair(void) CU_ASSERT(rc == 0); } +static void +test_nvme_tcp_poll_group_get_stats(void) +{ + int rc = 0; + struct spdk_sock_group sgroup = {}; + struct nvme_tcp_poll_group *pgroup = NULL; + struct spdk_nvme_transport_poll_group *tgroup = NULL; + struct spdk_nvme_transport_poll_group_stat *tgroup_stat = NULL; + + MOCK_SET(spdk_sock_group_create, &sgroup); + tgroup = nvme_tcp_poll_group_create(); + CU_ASSERT(tgroup != NULL); + pgroup = nvme_tcp_poll_group(tgroup); + CU_ASSERT(pgroup != NULL); + + /* Invalid group pointer, expect fail and return -EINVAL */ + rc = nvme_tcp_poll_group_get_stats(NULL, &tgroup_stat); + CU_ASSERT(rc == -EINVAL); + CU_ASSERT(tgroup_stat == NULL); + + /* Invalid stats, expect fail and return -EINVAL */ + rc = nvme_tcp_poll_group_get_stats(tgroup, NULL); + CU_ASSERT(rc == -EINVAL); + + /* Get stats success */ + rc = nvme_tcp_poll_group_get_stats(tgroup, &tgroup_stat); + CU_ASSERT(rc == 0); + CU_ASSERT(tgroup_stat != NULL); + CU_ASSERT(tgroup_stat->trtype == SPDK_NVME_TRANSPORT_TCP); + CU_ASSERT(memcmp(&tgroup_stat->tcp, &pgroup->stats, sizeof(struct spdk_nvme_tcp_stat)) == 0); + + nvme_tcp_poll_group_free_stats(tgroup, tgroup_stat); + rc = nvme_tcp_poll_group_destroy(tgroup); + CU_ASSERT(rc == 0); + + MOCK_CLEAR(spdk_sock_group_create); +} + int main(int argc, char **argv) { @@ -1568,6 +1606,7 @@ main(int argc, char **argv) CU_ADD_TEST(suite, test_nvme_tcp_ctrlr_disconnect_qpair); CU_ADD_TEST(suite, test_nvme_tcp_ctrlr_create_io_qpair); CU_ADD_TEST(suite, test_nvme_tcp_ctrlr_delete_io_qpair); + CU_ADD_TEST(suite, test_nvme_tcp_poll_group_get_stats); CU_basic_set_mode(CU_BRM_VERBOSE); CU_basic_run_tests();