From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 4803EC8B4 for ; Fri, 26 Jun 2015 13:32:12 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP; 26 Jun 2015 04:32:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,684,1427785200"; d="scan'208";a="514615193" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by FMSMGA003.fm.intel.com with ESMTP; 26 Jun 2015 04:32:10 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id t5QBWAZx017460 for ; Fri, 26 Jun 2015 12:32:10 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id t5QBW9wZ032636 for ; Fri, 26 Jun 2015 12:32:09 +0100 Received: (from smonroy@localhost) by sivswdev02.ir.intel.com with id t5QBW92x032632 for dev@dpdk.org; Fri, 26 Jun 2015 12:32:09 +0100 From: Sergio Gonzalez Monroy To: dev@dpdk.org Date: Fri, 26 Jun 2015 12:32:07 +0100 Message-Id: <1435318329-32549-8-git-send-email-sergio.gonzalez.monroy@intel.com> X-Mailer: git-send-email 1.8.5.4 In-Reply-To: <1435318329-32549-1-git-send-email-sergio.gonzalez.monroy@intel.com> References: <1433586732-28217-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1435318329-32549-1-git-send-email-sergio.gonzalez.monroy@intel.com> Subject: [dpdk-dev] [PATCH v5 7/9] app/test: update unit test with rte_memzone_free X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jun 2015 11:32:12 -0000 Update memzone unit test for the new rte_memzone_free API. Signed-off-by: Sergio Gonzalez Monroy --- app/test/test_memzone.c | 80 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c index 6934eee..30eba8d 100644 --- a/app/test/test_memzone.c +++ b/app/test/test_memzone.c @@ -684,6 +684,82 @@ test_memzone_bounded(void) } static int +test_memzone_free(void) +{ + const struct rte_memzone *mz[RTE_MAX_MEMZONE]; + int i; + char name[20]; + + 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; + } + + i = 0; + do { + snprintf(name, sizeof(name), "tempzone%u", i); + mz[i] = rte_memzone_reserve(name, 1, SOCKET_ID_ANY, 0); + } while (mz[i++] != NULL); + + if (rte_memzone_free(mz[0])) { + printf("Fail memzone free - tempzone0\n"); + return -1; + } + mz[0] = rte_memzone_reserve("tempzone0new", 0, SOCKET_ID_ANY, 0); + + if (mz[0] == NULL) { + printf("Fail to create memzone - tempzone0new - when MAX memzones were " + "created and one was free\n"); + return -1; + } + + for (i = i - 2; i >= 0; i--) { + if (rte_memzone_free(mz[i])) { + printf("Fail memzone free - tempzone%d\n", i); + return -1; + } + } + + return 0; +} + +static int test_memzone(void) { const struct rte_memzone *memzone1; @@ -791,6 +867,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