From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4EFB0A04B7; Sun, 20 Sep 2020 13:50:06 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5CDF41DA15; Sun, 20 Sep 2020 13:49:24 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id 24CA51DA10 for ; Sun, 20 Sep 2020 13:49:23 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AAB33D6E; Sun, 20 Sep 2020 04:49:22 -0700 (PDT) Received: from net-arm-n1sdp.shanghai.arm.com (net-arm-n1sdp.shanghai.arm.com [10.169.208.213]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C4EB53F68F; Sun, 20 Sep 2020 04:49:20 -0700 (PDT) From: Feifei Wang To: Honnappa Nagarahalli , Konstantin Ananyev Cc: dev@dpdk.org, nd@arm.com, Feifei Wang Date: Sun, 20 Sep 2020 06:48:55 -0500 Message-Id: <20200920114856.20697-7-feifei.wang2@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200920114856.20697-1-feifei.wang2@arm.com> References: <20200729063105.11299-1-feifei.wang2@arm.com> <20200920114856.20697-1-feifei.wang2@arm.com> Subject: [dpdk-dev] [PATCH v6 6/7] test/ring: add new function to validate dequeue data X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Do code clean up by moving repeated code inside 'test_ring_mem_cmp' function to validate data and print information of enqueue/dequeue elements if validation fails. Signed-off-by: Feifei Wang Reviewed-by: Ruifeng Wang Reviewed-by: Phil Yang Reviewed-by: Dharmik Thakkar Reviewed-by: Honnappa Nagarahalli --- app/test/test_ring.c | 70 +++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 43 deletions(-) diff --git a/app/test/test_ring.c b/app/test/test_ring.c index da57032c7..fb46614f8 100644 --- a/app/test/test_ring.c +++ b/app/test/test_ring.c @@ -258,6 +258,21 @@ test_ring_mem_init(void *obj, unsigned int count, int esize) ((uint32_t *)obj)[i] = i; } +static int +test_ring_mem_cmp(void *src, void *dst, unsigned int size) +{ + int ret; + + ret = memcmp(src, dst, size); + if (ret) { + rte_hexdump(stdout, "src", src, size); + rte_hexdump(stdout, "dst", dst, size); + printf("data after dequeue is not the same\n"); + } + + return ret; +} + static void test_ring_print_test_string(const char *istr, unsigned int api_type, int esize) { @@ -383,7 +398,7 @@ test_ring_burst_bulk_tests1(unsigned int test_idx) struct rte_ring *r; void **src = NULL, **cur_src = NULL, **dst = NULL, **cur_dst = NULL; int ret; - unsigned int i, j; + unsigned int i, j, temp_sz; int rand; const unsigned int rsz = RING_SIZE - 1; @@ -444,12 +459,11 @@ test_ring_burst_bulk_tests1(unsigned int test_idx) TEST_RING_VERIFY(rte_ring_empty(r)); /* check data */ - if (esize[i] == -1) { - TEST_RING_VERIFY(memcmp(src, dst, - rsz * sizeof(void *)) == 0); - } else - TEST_RING_VERIFY(memcmp(src, dst, - rsz * esize[i]) == 0); + temp_sz = rsz * sizeof(void *); + if (esize[i] != -1) + temp_sz = rsz * esize[i]; + TEST_RING_VERIFY(test_ring_mem_cmp(src, dst, + temp_sz) == 0); } /* Free memory before test completed */ @@ -543,14 +557,8 @@ test_ring_burst_bulk_tests2(unsigned int test_idx) cur_dst = test_ring_inc_ptr(cur_dst, esize[i], MAX_BULK); /* check data */ - if (memcmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) { - rte_hexdump(stdout, "src", src, - RTE_PTR_DIFF(cur_src, src)); - rte_hexdump(stdout, "dst", dst, - RTE_PTR_DIFF(cur_dst, dst)); - printf("data after dequeue is not the same\n"); + if (test_ring_mem_cmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) goto fail; - } /* Free memory before test completed */ rte_ring_free(r); @@ -621,14 +629,8 @@ test_ring_burst_bulk_tests3(unsigned int test_idx) } /* check data */ - if (memcmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) { - rte_hexdump(stdout, "src", src, - RTE_PTR_DIFF(cur_src, src)); - rte_hexdump(stdout, "dst", dst, - RTE_PTR_DIFF(cur_dst, dst)); - printf("data after dequeue is not the same\n"); + if (test_ring_mem_cmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) goto fail; - } /* Free memory before test completed */ rte_ring_free(r); @@ -756,14 +758,8 @@ test_ring_burst_bulk_tests4(unsigned int test_idx) goto fail; /* check data */ - if (memcmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) { - rte_hexdump(stdout, "src", src, - RTE_PTR_DIFF(cur_src, src)); - rte_hexdump(stdout, "dst", dst, - RTE_PTR_DIFF(cur_dst, dst)); - printf("data after dequeue is not the same\n"); + if (test_ring_mem_cmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) goto fail; - } /* Free memory before test completed */ rte_ring_free(r); @@ -868,12 +864,8 @@ test_ring_basic_ex(void) } /* check data */ - if (memcmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) { - rte_hexdump(stdout, "src", src, RTE_PTR_DIFF(cur_src, src)); - rte_hexdump(stdout, "dst", dst, RTE_PTR_DIFF(cur_dst, dst)); - printf("data after dequeue is not the same\n"); + if (test_ring_mem_cmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) goto fail_test; - } /* Following tests use the configured flags to decide * SP/SC or MP/MC. @@ -920,12 +912,8 @@ test_ring_basic_ex(void) cur_dst = test_ring_inc_ptr(cur_dst, esize[i], 2); /* check data */ - if (memcmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) { - rte_hexdump(stdout, "src", src, RTE_PTR_DIFF(cur_src, src)); - rte_hexdump(stdout, "dst", dst, RTE_PTR_DIFF(cur_dst, dst)); - printf("data after dequeue is not the same\n"); + if (test_ring_mem_cmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) goto fail_test; - } rte_ring_free(rp); rte_free(src); @@ -1058,12 +1046,8 @@ test_ring_with_exact_size(void) } /* check data */ - if (memcmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) { - rte_hexdump(stdout, "src", src, RTE_PTR_DIFF(cur_src, src)); - rte_hexdump(stdout, "dst", dst, RTE_PTR_DIFF(cur_dst, dst)); - printf("data after dequeue is not the same\n"); + if (test_ring_mem_cmp(src, dst, RTE_PTR_DIFF(cur_dst, dst))) goto test_fail; - } rte_free(src_orig); rte_free(dst_orig); -- 2.17.1