From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by dpdk.org (Postfix) with ESMTP id 0C77E558B for ; Fri, 18 Nov 2016 07:21:16 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CCC1B16; Thu, 17 Nov 2016 22:21:15 -0800 (PST) Received: from ubuntu-jianbo.shanghai.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 604363F318; Thu, 17 Nov 2016 22:21:15 -0800 (PST) From: Jianbo Liu To: dts@dpdk.org Cc: Jianbo Liu Date: Fri, 18 Nov 2016 14:20:57 +0800 Message-Id: <1479450059-17753-1-git-send-email-jianbo.liu@linaro.org> X-Mailer: git-send-email 1.9.1 Subject: [dts] [PATCH 1/3] tests unit_test_*: use the coremask according to DUT's core number X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Nov 2016 06:21:17 -0000 The coremask for the application should be dependent on how many cores it has, not the fixed number (ffff), as DUT's cores number could be less than 16. Signed-off-by: Jianbo Liu --- tests/TestSuite_unit_tests_cmdline.py | 5 ++++- tests/TestSuite_unit_tests_dump.py | 22 ++++++++++++++-------- tests/TestSuite_unit_tests_eal.py | 8 +++++--- tests/TestSuite_unit_tests_lpm.py | 9 ++++++--- tests/TestSuite_unit_tests_mbuf.py | 4 +++- tests/TestSuite_unit_tests_mempool.py | 7 +++++-- tests/TestSuite_unit_tests_pmd_perf.py | 10 ++++++---- tests/TestSuite_unit_tests_qos.py | 12 ++++++++---- tests/TestSuite_unit_tests_ring.py | 7 +++++-- tests/TestSuite_unit_tests_ringpmd.py | 6 ++++-- tests/TestSuite_unit_tests_timer.py | 7 +++++-- 11 files changed, 65 insertions(+), 32 deletions(-) diff --git a/tests/TestSuite_unit_tests_cmdline.py b/tests/TestSuite_unit_tests_cmdline.py index 93faf49..199d233 100644 --- a/tests/TestSuite_unit_tests_cmdline.py +++ b/tests/TestSuite_unit_tests_cmdline.py @@ -36,6 +36,7 @@ Cmdline autotest """ +import utils from test_case import TestCase # @@ -69,7 +70,9 @@ class TestUnitTestsCmdline(TestCase): Run cmdline autotests in RTE comand line. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("cmdline_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") diff --git a/tests/TestSuite_unit_tests_dump.py b/tests/TestSuite_unit_tests_dump.py index 08c3ba6..4d8686f 100644 --- a/tests/TestSuite_unit_tests_dump.py +++ b/tests/TestSuite_unit_tests_dump.py @@ -30,6 +30,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import re +import utils """ DPDK Test suite. @@ -76,7 +77,8 @@ class TestUnitTestsDump(TestCase): """ Run history log dump test case. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % (self.target), "R.*T.*E.*>.*>", self.start_test_time) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", self.start_test_time) out = self.dut.send_expect("dump_log_history", "RTE>>", self.run_cmd_time * 2) self.dut.send_expect("quit", "# ") self.verify("EAL" in out, "Test failed") @@ -112,7 +114,8 @@ class TestUnitTestsDump(TestCase): """ Run physical memory dump test case. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % (self.target), "R.*T.*E.*>.*>", self.start_test_time) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", self.start_test_time) out = self.dut.send_expect("dump_physmem", "RTE>>", self.run_cmd_time * 2) self.dut.send_expect("quit", "# ") elements = ['Segment', 'phys', 'len', 'virt', 'socket_id', 'hugepage_sz', 'nchannel', 'nrank'] @@ -132,7 +135,8 @@ class TestUnitTestsDump(TestCase): """ Run memzone dump test case. """ - self.dut.send_expect("./%s/app/testpmd -n 1 -c ffff -- -i" % (self.target), "testpmd>", self.start_test_time) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/testpmd -n 1 -c %s -- -i" % (self.target, core_mask), "testpmd>", self.start_test_time) out = self.dut.send_expect("dump_memzone", "testpmd>", self.run_cmd_time * 2) self.dut.send_expect("quit", "# ") @@ -154,7 +158,8 @@ class TestUnitTestsDump(TestCase): """ Run struct size dump test case. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % (self.target), "R.*T.*E.*>.*>", self.start_test_time) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", self.start_test_time) out = self.dut.send_expect("dump_struct_sizes", "RTE>>", self.run_cmd_time * 2) self.dut.send_expect("quit", "# ") @@ -171,17 +176,18 @@ class TestUnitTestsDump(TestCase): """ Run devargs dump test case. """ + core_mask = utils.create_mask(self.dut.get_core_list("all")) test_port = self.dut_ports[0] pci_address = self.dut.ports_info[test_port]['pci']; - self.dut.send_expect("./%s/app/test -n 1 -c ffff -b %s" - % (self.target, pci_address), "R.*T.*E.*>.*>", self.start_test_time) + self.dut.send_expect("./%s/app/test -n 1 -c %s -b %s" + % (self.target, core_mask, pci_address), "R.*T.*E.*>.*>", self.start_test_time) out = self.dut.send_expect("dump_devargs", "RTE>>", self.run_cmd_time * 2) self.dut.send_expect("quit", "# ") black_str = "PCI blacklist %s" % pci_address self.verify(black_str in out, "Dump black list failed") - self.dut.send_expect("./%s/app/test -n 1 -c ffff -w %s" - % (self.target, pci_address), "R.*T.*E.*>.*>", self.start_test_time) + self.dut.send_expect("./%s/app/test -n 1 -c %s -w %s" + % (self.target, core_mask, pci_address), "R.*T.*E.*>.*>", self.start_test_time) out = self.dut.send_expect("dump_devargs", "RTE>>", self.run_cmd_time * 2) self.dut.send_expect("quit", "# ") diff --git a/tests/TestSuite_unit_tests_eal.py b/tests/TestSuite_unit_tests_eal.py index 8fea148..02191c2 100644 --- a/tests/TestSuite_unit_tests_eal.py +++ b/tests/TestSuite_unit_tests_eal.py @@ -34,7 +34,8 @@ class TestUnitTestsEal(TestCase): [arch, machine, self.env, toolchain] = self.target.split('-') self.start_test_time = 60 self.run_cmd_time = 180 - self.test_app_cmdline = "./%s/app/test -n 1 -c ffff" % self.target + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.test_app_cmdline = "./%s/app/test -n 1 -c %s" % (self.target, core_mask) def set_up(self): """ @@ -147,7 +148,7 @@ class TestUnitTestsEal(TestCase): cmdline = self.test_app_cmdline else: # mask cores only on socket 0 - cmdline = "%s ./%s/app/test -n 1 -c 5555" % (self.dut.taskset(1), self.target) + cmdline = "%s ./%s/app/test -n 1 -c 55" % (self.dut.taskset(1), self.target) self.dut.send_expect(cmdline, "R.*T.*E.*>.*>", self.start_test_time) out = self.dut.send_expect("func_reentrancy_autotest", "RTE>>", self.run_cmd_time) self.dut.send_expect("quit", "# ") @@ -157,8 +158,9 @@ class TestUnitTestsEal(TestCase): """ Run pci autotest. """ + core_mask = utils.create_mask(self.dut.get_core_list("all")) # should re-compile test app, this is only a demo. will implementation after framework support - self.dut.send_expect("./%s/app/test_pci -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>" , self.start_test_time) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>" , self.start_test_time) out = self.dut.send_expect("pci_autotest", "RTE>>", self.run_cmd_time) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") diff --git a/tests/TestSuite_unit_tests_lpm.py b/tests/TestSuite_unit_tests_lpm.py index 4a26e03..4418852 100644 --- a/tests/TestSuite_unit_tests_lpm.py +++ b/tests/TestSuite_unit_tests_lpm.py @@ -36,6 +36,7 @@ This TestSuite runs the unit tests included in DPDK for LPM methods in l3fwd. """ +import utils from test_case import TestCase # @@ -70,7 +71,8 @@ class TestUnitTestsLpmIpv6(TestCase): """ Run lpm for IPv6 autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("lpm_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -80,7 +82,7 @@ class TestUnitTestsLpmIpv6(TestCase): Run lpm for IPv6 autotest. """ [arch, machine, env, toolchain] = self.target.split('-') - self.verify(arch == "x86_64", "lpm6 request huge memory") + self.verify(arch in ["x86_64", "arm64"], "lpm6 request huge memory") if env == 'bsdapp': pass else: @@ -89,7 +91,8 @@ class TestUnitTestsLpmIpv6(TestCase): hugepage_num = self.dut.get_total_huge_pages() self.verify(hugepage_num >= 4096, "failed to request huge memory") - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("lpm6_autotest", "RTE>>", 3600) self.dut.send_expect("quit", "# ") if env == 'bsdapp': diff --git a/tests/TestSuite_unit_tests_mbuf.py b/tests/TestSuite_unit_tests_mbuf.py index df73e5d..e7a2101 100644 --- a/tests/TestSuite_unit_tests_mbuf.py +++ b/tests/TestSuite_unit_tests_mbuf.py @@ -36,6 +36,7 @@ Run all mbuf autotests """ +import utils from test_case import TestCase # @@ -68,7 +69,8 @@ class TestUnitTestsMbuf(TestCase): Run mbuf autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mbuf_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") diff --git a/tests/TestSuite_unit_tests_mempool.py b/tests/TestSuite_unit_tests_mempool.py index 70cf4f3..a1134c3 100644 --- a/tests/TestSuite_unit_tests_mempool.py +++ b/tests/TestSuite_unit_tests_mempool.py @@ -36,6 +36,7 @@ Run all Mempool autotests """ +import utils from test_case import TestCase # @@ -68,7 +69,8 @@ class TestUnitTestsMempool(TestCase): Run memory pool autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mempool_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -77,7 +79,8 @@ class TestUnitTestsMempool(TestCase): """ Run memory pool performance autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c fffe" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mempool_perf_autotest", "RTE>>", 700) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") diff --git a/tests/TestSuite_unit_tests_pmd_perf.py b/tests/TestSuite_unit_tests_pmd_perf.py index 695c8de..af5e9d4 100644 --- a/tests/TestSuite_unit_tests_pmd_perf.py +++ b/tests/TestSuite_unit_tests_pmd_perf.py @@ -62,7 +62,7 @@ class TestUnitTestsPmdPerf(TestCase): self.dut_ports = self.dut.get_ports(self.nic) self.verify(len(self.dut_ports) >= 1, "Insufficient ports for testing") [self.arch, machine, env, toolchain] = self.target.split('-') - self.verify(self.arch == "x86_64", "pmd perf request running in x86_64") + self.verify(self.arch in ["x86_64", "arm64"], "pmd perf request running in x86_64 or arm64") self.burst_ctlmodes = ['poll_before_xmit', 'poll_after_xmit'] self.rxtx_modes = ['vector', 'scalar', 'full', 'hybrid'] self.anchors = ['rxtx', 'rxonly', 'txonly'] @@ -90,7 +90,8 @@ class TestUnitTestsPmdPerf(TestCase): Run pmd stream control mode burst test case. """ - self.dut.send_expect("./app/test/test -n 1 -c ffff", "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./app/test/test -n 1 -c %s" % core_mask, "R.*T.*E.*>.*>", 60) for mode in self.burst_ctlmodes: self.dut.send_expect("set_rxtx_sc %s" % mode, "RTE>>", 10) out = self.dut.send_expect("pmd_perf_autotest", "RTE>>", 120) @@ -111,11 +112,12 @@ class TestUnitTestsPmdPerf(TestCase): self.result_table_create(self.table_header) print self.table_header + core_mask = utils.create_mask(self.dut.get_core_list("all")) for mode in self.rxtx_modes: if mode is "scalar": - self.dut.send_expect("./app/test/test_scalar -n 1 -c ffff", "R.*T.*E.*>.*>", 60) + self.dut.send_expect("./app/test/test_scalar -n 1 -c %s" % core_mask, "R.*T.*E.*>.*>", 60) else: - self.dut.send_expect("./app/test/test -n 1 -c ffff", "R.*T.*E.*>.*>", 60) + self.dut.send_expect("./app/test/test -n 1 -c %s" % core_mask, "R.*T.*E.*>.*>", 60) table_row = [mode] self.dut.send_expect("set_rxtx_sc continuous", "RTE>>", 10) diff --git a/tests/TestSuite_unit_tests_qos.py b/tests/TestSuite_unit_tests_qos.py index 1bc5f8d..42a7bf8 100644 --- a/tests/TestSuite_unit_tests_qos.py +++ b/tests/TestSuite_unit_tests_qos.py @@ -36,6 +36,7 @@ This TestSuite runs the unit tests included in DPDK for Random Early Detection, Metering and Scheduling QoS features. """ +import utils from test_case import TestCase # @@ -70,7 +71,8 @@ class TestUnitTestsQos(TestCase): Run RED autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 30) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 30) out = self.dut.send_expect("red_autotest", "RTE>>", 180) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -80,7 +82,8 @@ class TestUnitTestsQos(TestCase): Run meter autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 30) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 30) out = self.dut.send_expect("meter_autotest", "RTE>>", 5) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -91,9 +94,10 @@ class TestUnitTestsQos(TestCase): """ [arch, machine, env, toolchain] = self.target.split('-') - self.verify(arch == "x86_64", "Sched auto_test not support in i686") + self.verify(arch in ["x86_64" ,"arm64"], "Sched auto_test only support in x86_64 or arm64") - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 30) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 30) out = self.dut.send_expect("sched_autotest", "RTE>>", 5) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") diff --git a/tests/TestSuite_unit_tests_ring.py b/tests/TestSuite_unit_tests_ring.py index baa6610..6a701b2 100644 --- a/tests/TestSuite_unit_tests_ring.py +++ b/tests/TestSuite_unit_tests_ring.py @@ -36,6 +36,7 @@ Run all Ring autotests """ +import utils from test_case import TestCase # @@ -68,7 +69,8 @@ class TestUnitTestsRing(TestCase): Run ring autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("ring_autotest", "RTE>>", 36000) self.verify("Test OK" in out, "Test failed") self.dut.send_expect("set_watermark test 100", "RTE>>") @@ -81,7 +83,8 @@ class TestUnitTestsRing(TestCase): Run ring performance autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c fffe" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("ring_perf_autotest", "RTE>>", 210) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") diff --git a/tests/TestSuite_unit_tests_ringpmd.py b/tests/TestSuite_unit_tests_ringpmd.py index b6d21bb..c62b8d6 100644 --- a/tests/TestSuite_unit_tests_ringpmd.py +++ b/tests/TestSuite_unit_tests_ringpmd.py @@ -36,6 +36,7 @@ Run Inter-VM share memory autotests """ +import utils from test_case import TestCase # @@ -71,12 +72,13 @@ class TestUnitTestsRingPmd(TestCase): """ dev_str = "--vdev=net_ring0 --vdev=net_ring1" - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 10) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 10) out = self.dut.send_expect("ring_pmd_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Default no eth_ring devices Test failed") - self.dut.send_expect("./%s/app/test -n 1 -c ffff %s" % (self.target, dev_str), "R.*T.*E.*>.*>", 10) + self.dut.send_expect("./%s/app/test -n 1 -c %s %s" % (self.target, core_mask, dev_str), "R.*T.*E.*>.*>", 10) out = self.dut.send_expect("ring_pmd_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Two eth_ring devices test failed") diff --git a/tests/TestSuite_unit_tests_timer.py b/tests/TestSuite_unit_tests_timer.py index 2d5eb49..e79687d 100644 --- a/tests/TestSuite_unit_tests_timer.py +++ b/tests/TestSuite_unit_tests_timer.py @@ -36,6 +36,7 @@ Run all timer autotests """ +import utils from test_case import TestCase # @@ -67,7 +68,8 @@ class TestUnitTestsTimer(TestCase): """ Run timer autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("timer_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -76,7 +78,8 @@ class TestUnitTestsTimer(TestCase): """ Run timer autotest. """ - self.dut.send_expect("./%s/app/test -n 1 -c ffff" % self.target, "R.*T.*E.*>.*>", 60) + core_mask = utils.create_mask(self.dut.get_core_list("all")) + self.dut.send_expect("./%s/app/test -n 1 -c %s" % (self.target, core_mask), "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("timer_perf_autotest", "RTE>>", 60) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") -- 1.9.1