[dpdk-dev] [PATCH v2 7/7] app/test: update unit test with rte_memzone_free

Sergio Gonzalez Monroy sergio.gonzalez.monroy at intel.com
Sat Jun 6 12:32:12 CEST 2015


Update memzone unit test for the new rte_memzone_free API.

Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy at intel.com>
---
 app/test/test_memzone.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c
index c5e4872..7667d30 100644
--- a/app/test/test_memzone.c
+++ b/app/test/test_memzone.c
@@ -683,6 +683,51 @@ test_memzone_bounded(void)
 	return (0);
 }
 
+static int
+test_memzone_free(void)
+{
+	const struct rte_memzone *mz[4];
+
+	mz[0] = rte_memzone_reserve("tempzone0", 2000, SOCKET_ID_ANY, 0);
+	mz[1] = rte_memzone_reserve("tempzone1", 4000, SOCKET_ID_ANY, 0);
+
+	if (mz[0] > mz[1])
+		return -1;
+	if (!rte_memzone_lookup("tempzone0"))
+		return -1;
+	if (!rte_memzone_lookup("tempzone1"))
+		return -1;
+
+	if (rte_memzone_free(mz[0])) {
+		printf("Fail memzone free - tempzone0\n");
+		return -1;
+	}
+	if (rte_memzone_lookup("tempzone0")) {
+		printf("Found previously free memzone - tempzone0\n");
+		return -1;
+	}
+	mz[2] = rte_memzone_reserve("tempzone2", 2000, SOCKET_ID_ANY, 0);
+
+	if (mz[2] > mz[1]) {
+		printf("tempzone2 should have gotten the free entry from tempzone0\n");
+		return -1;
+	}
+	if (rte_memzone_free(mz[2])) {
+		printf("Fail memzone free - tempzone2\n");
+		return -1;
+	}
+	if (rte_memzone_lookup("tempzone2")) {
+		printf("Found previously free memzone - tempzone2\n");
+		return -1;
+	}
+	if (rte_memzone_free(mz[1])) {
+		printf("Fail memzone free - tempzone1\n");
+		return -1;
+	}
+	if (rte_memzone_lookup("tempzone1")) {
+		printf("Found previously free memzone - tempzone1\n");
+		return -1;
+	}
 
 	return 0;
 }
@@ -795,6 +840,10 @@ test_memzone(void)
 	if (test_memzone_reserve_max_aligned() < 0)
 		return -1;
 
+	printf("test free memzone\n");
+	if (test_memzone_free() < 0)
+		return -1;
+
 	return 0;
 }
 
-- 
1.9.3



More information about the dev mailing list