Ensure that memzone count in eal mem config is incremented and
decremented whenever memzones are allocated and freed.

Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
---
 test/test/test_memzone.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/test/test/test_memzone.c b/test/test/test_memzone.c
index f6c9b56..00d340f 100644
--- a/test/test/test_memzone.c
+++ b/test/test/test_memzone.c
@@ -841,6 +841,9 @@ test_memzone_basic(void)
        const struct rte_memzone *memzone3;
        const struct rte_memzone *memzone4;
        const struct rte_memzone *mz;
+       int memzone_cnt_after, memzone_cnt_expected;
+       int memzone_cnt_before =
+                       rte_eal_get_configuration()->mem_config->memzone_cnt;
 
        memzone1 = rte_memzone_reserve("testzone1", 100,
                                SOCKET_ID_ANY, 0);
@@ -858,6 +861,18 @@ test_memzone_basic(void)
        if (memzone1 == NULL || memzone2 == NULL || memzone4 == NULL)
                return -1;
 
+       /* check how many memzones we are expecting */
+       memzone_cnt_expected = memzone_cnt_before +
+                       (memzone1 != NULL) + (memzone2 != NULL) +
+                       (memzone3 != NULL) + (memzone4 != NULL);
+
+       memzone_cnt_after =
+                       rte_eal_get_configuration()->mem_config->memzone_cnt;
+
+       if (memzone_cnt_after != memzone_cnt_expected)
+               return -1;
+
+
        rte_memzone_dump(stdout);
 
        /* check cache-line alignments */
@@ -930,6 +945,11 @@ test_memzone_basic(void)
                return -1;
        }
 
+       memzone_cnt_after =
+                       rte_eal_get_configuration()->mem_config->memzone_cnt;
+       if (memzone_cnt_after != memzone_cnt_before)
+               return -1;
+
        return 0;
 }
 
-- 
2.7.4

Reply via email to