test/memzone: add test for count in EAL config
authorAnatoly Burakov <anatoly.burakov@intel.com>
Thu, 1 Feb 2018 10:14:49 +0000 (10:14 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 6 Feb 2018 00:51:06 +0000 (01:51 +0100)
Ensure that memzone count in eal mem config is incremented and
decremented whenever memzones are allocated and freed.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Reviewed-by: Radoslaw Biernacki <radoslaw.biernacki@linaro.org>
test/test/test_memzone.c

index f6c9b56..00d340f 100644 (file)
@@ -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;
 }