From: Zhou jun <junx.w.zhou@intel.com> Modify suite to support meson Zhou jun (38): tests/TestSuite_cmdline.py: adapt to support both meson and makefile build tests/TestSuite_coremask.py: adapt to support both meson and makefile build tests/TestSuite_distributor.py: adapt to support both meson and makefile build tests/TestSuite_efd.py: adapt to support both meson and makefile build tests/TestSuite_external_memory.py: adapt to support both meson and makefile build tests/TestSuite_external_mempool_handler.py: adapt to support both meson and makefile build tests/TestSuite_flow_classify_softnic.py: adapt to support both meson and makefile build tests/TestSuite_hello_world.py: adapt to support both meson and makefile build tests/TestSuite_inline_ipsec.py: adapt to support both meson and makefile build tests/TestSuite_ip_pipeline.py: adapt to support both meson and makefile build tests/TestSuite_ipfrag.py: adapt to support both meson and makefile build tests/TestSuite_ipv4_reassembly.py: adapt to support both meson and makefile build tests/TestSuite_keep_alive.py: adapt to support both meson and makefile build tests/TestSuite_kni.py: adapt to support both meson and makefile build tests/TestSuite_l2fwd.py: adapt to support both meson and makefile build tests/TestSuite_l3fwdacl.py: adapt to support both meson and makefile build tests/TestSuite_link_status_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_metering_and_policing.py: adapt to support both meson and makefile build tests/TestSuite_multicast.py: adapt to support both meson and makefile build tests/TestSuite_pvp_virtio_user_4k_pages.py: adapt to support both meson and makefile build tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py: adapt to support both meson and makefile build tests/TestSuite_short_live.py: adapt to support both meson and makefile build tests/TestSuite_skeleton.py: adapt to support both meson and makefile build tests/TestSuite_timer.py: adapt to support both meson and makefile build tests/TestSuite_userspace_ethtool.py: adapt to support both meson and makefile build tests/TestSuite_vdev_primary_secondary.py: adapt to support both meson and makefile build tests/TestSuite_vhost_pmd_xstats.py: adapt to support both meson and makefile build tests/TestSuite_vhost_user_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_vhost_virtio_pmd_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_vhost_virtio_user_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_virtio_event_idx_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_virtio_pvp_regression.py: adapt to support both meson and makefile build tests/TestSuite_virtio_user_as_exceptional_path.py: adapt to support both meson and makefile build tests/TestSuite_vm2vm_virtio_net_perf.py: adapt to support both meson and makefile build tests/TestSuite_vm2vm_virtio_pmd.py: adapt to support both meson and makefile build tests/TestSuite_vm2vm_virtio_user.py: adapt to support both meson and makefile build tests/TestSuite_vmdq.py: adapt to support both meson and makefile build tests/TestSuite_vxlan_sample.py: adapt to support both meson and makefile build tests/TestSuite_cmdline.py | 4 +-- tests/TestSuite_coremask.py | 16 +++++------- tests/TestSuite_distributor.py | 13 +++++----- tests/TestSuite_efd.py | 29 +++++++++++---------- tests/TestSuite_external_memory.py | 12 ++++----- tests/TestSuite_external_mempool_handler.py | 6 +++-- tests/TestSuite_flow_classify_softnic.py | 7 +++-- tests/TestSuite_hello_world.py | 5 ++-- tests/TestSuite_inline_ipsec.py | 2 +- tests/TestSuite_ip_pipeline.py | 30 ++++++++-------------- tests/TestSuite_ipfrag.py | 15 ++++++----- tests/TestSuite_ipv4_reassembly.py | 3 ++- tests/TestSuite_keep_alive.py | 5 ++-- tests/TestSuite_kni.py | 7 ++--- tests/TestSuite_l2fwd.py | 11 ++++---- tests/TestSuite_l3fwdacl.py | 22 ++++++++-------- tests/TestSuite_link_status_interrupt.py | 11 ++++---- tests/TestSuite_metering_and_policing.py | 3 ++- tests/TestSuite_multicast.py | 7 ++--- tests/TestSuite_pvp_virtio_user_4k_pages.py | 5 ++-- ...te_pvp_virtio_user_multi_queues_port_restart.py | 5 ++-- tests/TestSuite_short_live.py | 11 +++++--- tests/TestSuite_skeleton.py | 4 +-- tests/TestSuite_timer.py | 4 +-- tests/TestSuite_userspace_ethtool.py | 4 +-- tests/TestSuite_vdev_primary_secondary.py | 8 +++--- tests/TestSuite_vhost_pmd_xstats.py | 5 ++-- tests/TestSuite_vhost_user_interrupt.py | 6 +++-- tests/TestSuite_vhost_virtio_pmd_interrupt.py | 6 +++-- tests/TestSuite_vhost_virtio_user_interrupt.py | 8 +++--- tests/TestSuite_virtio_event_idx_interrupt.py | 3 ++- tests/TestSuite_virtio_pvp_regression.py | 5 ++-- tests/TestSuite_virtio_user_as_exceptional_path.py | 5 ++-- tests/TestSuite_vm2vm_virtio_net_perf.py | 3 ++- tests/TestSuite_vm2vm_virtio_pmd.py | 20 +++++++++------ tests/TestSuite_vm2vm_virtio_user.py | 12 ++++++--- tests/TestSuite_vmdq.py | 8 +++--- tests/TestSuite_vxlan_sample.py | 13 ++++++---- 38 files changed, 187 insertions(+), 156 deletions(-) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_cmdline.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_cmdline.py b/tests/TestSuite_cmdline.py index ab30d8e..0172c4f 100644 --- a/tests/TestSuite_cmdline.py +++ b/tests/TestSuite_cmdline.py @@ -50,14 +50,14 @@ class TestCmdline(TestCase): At least one core in DUT """ out = self.dut.build_dpdk_apps('examples/cmdline') - self.verify('make: Leaving directory' in out, "Compilation failed") self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") # Run cmdline app cores = self.dut.get_core_list('1S/1C/1T') coreMask = utils.create_mask(cores) - self.dut.send_expect("./examples/cmdline/build/cmdline -n 1 -c " + coreMask, "> ", 10) + self.app_cmdline_path = self.dut.apps_name['cmdline'] + self.dut.send_expect("./%s -n 1 -c " % self.app_cmdline_path + coreMask, "> ", 10) def set_up(self): """ -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_coremask.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/tests/TestSuite_coremask.py b/tests/TestSuite_coremask.py index 7299e0c..4e6cd02 100644 --- a/tests/TestSuite_coremask.py +++ b/tests/TestSuite_coremask.py @@ -17,7 +17,7 @@ from test_case import TestCase # Test class. # -command_line = """./%s/app/test -c %s -n %d --log-level="lib.eal,8" """ +command_line = """./%s -c %s -n %d --log-level="lib.eal,8" """ class TestCoremask(TestCase): @@ -37,7 +37,7 @@ class TestCoremask(TestCase): self.port_mask = utils.create_mask(self.dut.get_ports(self.nic)) self.mem_channel = self.dut.get_memory_channels() - + self.app_test_path = self.dut.apps_name['test'] self.all_cores = self.dut.get_core_list("all") def set_up(self): @@ -71,7 +71,7 @@ class TestCoremask(TestCase): core_mask = utils.create_mask([core]) - command = command_line % (self.target, core_mask, + command = command_line % (self.app_test_path, core_mask, self.mem_channel) out = self.dut.send_expect(command, "RTE>>", 10) @@ -94,7 +94,7 @@ class TestCoremask(TestCase): first_core=self.all_cores[0] - command = command_line % (self.target, core_mask, self.mem_channel) + command = command_line % (self.app_test_path, core_mask, self.mem_channel) out = self.dut.send_expect(command, "RTE>>", 10) self.verify("EAL: Master lcore %s is ready" % first_core in out, @@ -116,16 +116,14 @@ class TestCoremask(TestCase): """ Check coremask parsing for more cores than available. """ - - command_line = """./%s/app/test -c %s -n %d --log-level="lib.eal,8" 2>&1 |tee out""" + command_line = """./%s -c %s -n %d --log-level="lib.eal,8" 2>&1 |tee out""" # Create a extremely big coremask big_coremask_size = self.get_available_max_lcore() big_coremask = "0x" for _ in range(0, big_coremask_size, 4): big_coremask += "f" - - command = command_line % (self.target, big_coremask, self.mem_channel) + command = command_line % (self.app_test_path, big_coremask, self.mem_channel) try: out = self.dut.send_expect(command, "RTE>>", 10) except: @@ -156,7 +154,7 @@ class TestCoremask(TestCase): for coremask in wrong_coremasks: - command = command_line % (self.target, coremask, self.mem_channel) + command = command_line % (self.app_test_path, coremask, self.mem_channel) try: out = self.dut.send_expect(command, "# ", 5) self.verify("EAL: invalid coremask" in out, -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_distributor.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tests/TestSuite_distributor.py b/tests/TestSuite_distributor.py index 9ccc761..e5a8454 100644 --- a/tests/TestSuite_distributor.py +++ b/tests/TestSuite_distributor.py @@ -54,7 +54,8 @@ class TestDistributor(TestCase): self.verify("No such" not in out, "Compilation error") self.dut_ports = self.dut.get_ports() - self.app = "./examples/distributor/build/distributor_app" + self.app_distributor_path = self.dut.apps_name['distributor'] + self.app_test_path = self.dut.apps_name['test'] # get dts output path if self.logger.log_path.startswith(os.sep): self.output_path = self.logger.log_path @@ -75,7 +76,7 @@ class TestDistributor(TestCase): """ Run distributor unit test """ - self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "RTE>>", 60) + self.dut.send_expect("./%s -n 1 -c f" % self.app_test_path, "RTE>>", 60) out = self.dut.send_expect("distributor_autotest", "RTE>>", 30) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -84,7 +85,7 @@ class TestDistributor(TestCase): """ Run distributor unit perf test """ - self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "RTE>>", 60) + self.dut.send_expect("./%s -n 1 -c f" % self.app_test_path, "RTE>>", 60) out = self.dut.send_expect("distributor_perf_autotest", "RTE>>", 120) cycles_single = self.strip_cycles(out, "single") cycles_burst = self.strip_cycles(out, "burst") @@ -132,7 +133,7 @@ class TestDistributor(TestCase): if len(cores) < (worker_num + 4): cores = self._get_thread_lcore(worker_num + 4) - cmd = cmd_fmt % (self.app, utils.create_mask(cores), + cmd = cmd_fmt % (self.app_distributor_path, utils.create_mask(cores), self.dut.get_memory_channels(), self.dut.get_port_pci(self.dut_ports[0])) @@ -172,7 +173,7 @@ class TestDistributor(TestCase): max_workers = int(m.group(1)) cores = self._get_thread_lcore(max_workers - 1 + 4) - cmd = cmd_fmt % (self.app, utils.create_mask(cores), + cmd = cmd_fmt % (self.app_distributor_path, utils.create_mask(cores), self.dut.get_memory_channels(), self.dut.get_port_pci(self.dut_ports[0])) @@ -193,7 +194,7 @@ class TestDistributor(TestCase): socket = self.dut.get_numa_id(self.dut_ports[0]) cores = self.dut.get_core_list("1S/%dC/1T" % (2 + 4), socket) - cmd = cmd_fmt % (self.app, utils.create_mask(cores), + cmd = cmd_fmt % (self.app_distributor_path, utils.create_mask(cores), self.dut.get_memory_channels(), self.dut.get_port_pci(self.dut_ports[0]), self.dut.get_port_pci(self.dut_ports[1])) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_efd.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/tests/TestSuite_efd.py b/tests/TestSuite_efd.py index 007e03b..36df999 100644 --- a/tests/TestSuite_efd.py +++ b/tests/TestSuite_efd.py @@ -46,14 +46,12 @@ class TestEFD(TestCase): """ self.tester.extend_external_packet_generator(TestEFD, self) - out = self.dut.build_dpdk_apps("./examples/server_node_efd") - self.verify("Error" not in out, "Compilation error") - self.verify("No such" not in out, "Compilation error") + self.build_server_node_efd() self.dut_ports = self.dut.get_ports() - self.node_app = "./examples/server_node_efd/node/%s/node" % self.target - self.server_app = "./examples/server_node_efd/server/%s/server" % self.target - + self.node_app = self.dut.apps_name['node'] + self.server_app = self.dut.apps_name['server'] + self.app_test_path = self.dut.apps_name['test'] # get dts output path if self.logger.log_path.startswith(os.sep): self.output_path = self.logger.log_path @@ -64,6 +62,13 @@ class TestEFD(TestCase): # create an instance to set stream field setting self.pktgen_helper = PacketGeneratorHelper() + def build_server_node_efd(self): + apps = ['node', 'server'] + for app in apps: + out = self.dut.build_dpdk_apps("./examples/server_node_efd/%s" % app) + self.verify("Error" not in out, "Compilation %s error" % app) + self.verify("No such" not in out, "Compilation %s error" % app) + def set_up(self): """ Run before each test case. @@ -74,7 +79,7 @@ class TestEFD(TestCase): """ Run EFD unit test """ - self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "RTE>>", 60) + self.dut.send_expect("./%s -n 1 -c f" % self.app_test_path, "RTE>>", 60) out = self.dut.send_expect("efd_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Test failed") @@ -83,7 +88,7 @@ class TestEFD(TestCase): """ Run EFD unit perf test """ - self.dut.send_expect("./%s/app/test -n 1 -c f" % self.target, "RTE>>", 60) + self.dut.send_expect("./%s -n 1 -c f" % self.app_test_path, "RTE>>", 60) out = self.dut.send_expect("efd_perf_autotest", "RTE>>", 120) self.logger.info(out) self.dut.send_expect("quit", "# ") @@ -156,9 +161,7 @@ class TestEFD(TestCase): # change value length and rebuild dpdk self.dut.send_expect("sed -i -e 's/#define RTE_EFD_VALUE_NUM_BITS .*$/#define RTE_EFD_VALUE_NUM_BITS (%d)/' lib/librte_efd/rte_efd.h" % val_bitnum, "#") self.dut.build_install_dpdk(self.target) - out = self.dut.build_dpdk_apps("./examples/server_node_efd") - self.verify("Error" not in out, "Compilation error") - self.verify("No such" not in out, "Compilation error") + self.build_server_node_efd() pps = self._efd_perf_evaluate(2, flow_num) self.result_table_add([val_bitnum, 2, "2M", pps]) @@ -166,9 +169,7 @@ class TestEFD(TestCase): self.result_table_print() self.dut.send_expect("sed -i -e 's/#define RTE_EFD_VALUE_NUM_BITS .*$/#define RTE_EFD_VALUE_NUM_BITS (8)/' lib/librte_efd/rte_efd.h", "#") self.dut.build_install_dpdk(self.target) - out = self.dut.build_dpdk_apps("./examples/server_node_efd") - self.verify("Error" not in out, "Compilation error") - self.verify("No such" not in out, "Compilation error") + self.build_server_node_efd() def _efd_perf_evaluate(self, node_num, flow_num): # extended flow number into etgen module -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_external_memory.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/TestSuite_external_memory.py b/tests/TestSuite_external_memory.py index 1623054..f899ae7 100644 --- a/tests/TestSuite_external_memory.py +++ b/tests/TestSuite_external_memory.py @@ -51,6 +51,7 @@ class TestExternalMemory(TestCase): self.verify(len(self.dut_ports) >= 2, "Insufficient ports") cores = self.dut.get_core_list("1S/4C/1T") self.coremask = utils.create_mask(cores) + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -92,7 +93,8 @@ class TestExternalMemory(TestCase): Verifier IGB_UIO and anonymous memory allocation """ self.insmod_modprobe(modename="igb_uio") - cmd = "./%s/app/testpmd -c %s -n 4 -- --mp-alloc=xmem -i"%(self.target,self.coremask) + + cmd = "./%s -c %s -n 4 -- --mp-alloc=xmem -i" % (self.app_testpmd_path, self.coremask) self.dut.send_expect(cmd,"testpmd>",60) self.verifier_result() @@ -102,8 +104,7 @@ class TestExternalMemory(TestCase): Verifier IGB_UIO and anonymous hugepage memory allocation """ self.insmod_modprobe(modename="igb_uio") - - cmd = "./%s/app/testpmd -c %s -n 4 -- --mp-alloc=xmemhuge -i"%(self.target,self.coremask) + cmd = "./%s -c %s -n 4 -- --mp-alloc=xmemhuge -i" % (self.app_testpmd_path, self.coremask) self.dut.send_expect(cmd,"testpmd>",60) self.verifier_result() @@ -113,8 +114,7 @@ class TestExternalMemory(TestCase): Verifier VFIO_PCI and anonymous memory allocation """ self.insmod_modprobe(modename="vfio-pci") - - cmd = "./%s/app/testpmd -c %s -n 4 -- --mp-alloc=xmem -i"%(self.target,self.coremask) + cmd = "./%s -c %s -n 4 -- --mp-alloc=xmem -i" % (self.app_testpmd_path, self.coremask) self.dut.send_expect(cmd,"testpmd>",60) self.verifier_result() @@ -124,7 +124,7 @@ class TestExternalMemory(TestCase): Verifier VFIO and anonymous hugepage memory allocation """ self.insmod_modprobe(modename="vfio-pci") - cmd = "./%s/app/testpmd -c %s -n 4 -- --mp-alloc=xmemhuge -i"%(self.target,self.coremask) + cmd = "./%s -c %s -n 4 -- --mp-alloc=xmemhuge -i" % (self.app_testpmd_path, self.coremask) self.dut.send_expect(cmd,"testpmd>",60) self.verifier_result() -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_external_mempool_handler.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_external_mempool_handler.py b/tests/TestSuite_external_mempool_handler.py index e41b586..6b046c3 100644 --- a/tests/TestSuite_external_mempool_handler.py +++ b/tests/TestSuite_external_mempool_handler.py @@ -51,6 +51,8 @@ class TestExternalMempool(TestCase): self.pmdout = PmdOutput(self.dut) + self.app_test_path = self.dut.apps_name['test'] + def set_up(self): """ Run before each test case. @@ -62,13 +64,13 @@ class TestExternalMempool(TestCase): self.dut.build_install_dpdk(self.target) def verify_unit_func(self): - self.dut.send_expect("./%s/app/test -n 4 -c f" % self.target, "R.*T.*E.*>.*>", 60) + self.dut.send_expect("./%s -n 4 -c f" % self.app_test_path, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mempool_autotest", "RTE>>", 120) self.dut.send_expect("quit", "# ") self.verify("Test OK" in out, "Mempool autotest failed") def verify_unit_perf(self): - self.dut.send_expect("./%s/app/test -n 4 -c f" % self.target, "R.*T.*E.*>.*>", 60) + self.dut.send_expect("./%s -n 4 -c f" % self.app_test_path, "R.*T.*E.*>.*>", 60) out = self.dut.send_expect("mempool_perf_autotest", "RTE>>", 1200) self.dut.send_expect("quit", "# ") # may need to compare performance -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_flow_classify_softnic.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/TestSuite_flow_classify_softnic.py b/tests/TestSuite_flow_classify_softnic.py index f2320be..db7a81d 100644 --- a/tests/TestSuite_flow_classify_softnic.py +++ b/tests/TestSuite_flow_classify_softnic.py @@ -82,7 +82,7 @@ class TestFlowClassifySoftnic(TestCase): """ self.cores = self.dut.get_core_list("all") self.set_ports(filename, port_num) - TESTPMD = "./%s/app/testpmd" % self.target + TESTPMD = self.dut.apps_name['test-pmd'] cmd="cat /sys/bus/pci/devices/%s/numa_node"%self.dut_p0_pci numa_node = int(self.dut.send_expect(cmd, "# ", 60)) cpu_id = numa_node if numa_node > 0 else 0 @@ -115,7 +115,6 @@ class TestFlowClassifySoftnic(TestCase): self.dut.send_expect(cmd, "# ", 20) self.dut.send_expect("sed -i 's/^thread 4 pipeline/thread %d pipeline/g' ./drivers/net/softnic/flow_classify_softnic/%s" % (self.port_num, filename), "# ", 20) - def set_table(self, cmd, filename): """ Set pipeline table. @@ -222,10 +221,10 @@ class TestFlowClassifySoftnic(TestCase): Check if the rule works. """ self.write_pcap_file(pcap_file, pkt) + checklist = [] if ltype in ["udp", "tcp", "sctp"]: filters = "%s %s port %d" % (ltype, src_dst, addr_port) sniff_pkts = self.send_and_sniff_pkts(from_port, to_port, pcap_file, filters) - checklist = [] for packet in sniff_pkts: if src_dst == "src": checklist.append(packet.getlayer(2).sport) @@ -234,7 +233,7 @@ class TestFlowClassifySoftnic(TestCase): elif ltype in ["ipv4", "ipv6"]: filters = "%s host %s" % (src_dst, addr_port) sniff_pkts = self.send_and_sniff_pkts(from_port, to_port, pcap_file, filters) - checklist = [] + for packet in sniff_pkts: if src_dst == "src": checklist.append(packet.getlayer(1).src) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_hello_world.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_hello_world.py b/tests/TestSuite_hello_world.py index 3d58e2a..cd843b5 100644 --- a/tests/TestSuite_hello_world.py +++ b/tests/TestSuite_hello_world.py @@ -46,6 +46,7 @@ class TestHelloWorld(TestCase): helloworld build pass """ out = self.dut.build_dpdk_apps('examples/helloworld') + self.app_helloworld_path = self.dut.apps_name['helloworld'] self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") @@ -66,7 +67,7 @@ class TestHelloWorld(TestCase): # get the mask for the first core cores = self.dut.get_core_list('1S/1C/1T') coreMask = utils.create_mask(cores) - cmdline = "./examples/helloworld/build/helloworld -n 1 -c " + coreMask + cmdline = "./%s -n 1 -c " % self.app_helloworld_path + coreMask out = self.dut.send_expect(cmdline, "# ", 30) self.verify("hello from core %s" % cores[0] in out, "EAL not started on core%s" % cores[0]) @@ -87,7 +88,7 @@ class TestHelloWorld(TestCase): coreMask = utils.create_mask(cores[:available_max_lcore - 1]) - cmdline = "./examples/helloworld/build/helloworld -n 1 -c " + coreMask + cmdline = "./%s -n 1 -c " % self.app_helloworld_path + coreMask out = self.dut.send_expect(cmdline, "# ", 50) for i in range(available_max_lcore - 1): self.verify("hello from core %s" % cores[i] in out, "EAL not started on core%s" % cores[i]) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_inline_ipsec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/TestSuite_inline_ipsec.py b/tests/TestSuite_inline_ipsec.py index e5c282c..2e6ec7c 100644 --- a/tests/TestSuite_inline_ipsec.py +++ b/tests/TestSuite_inline_ipsec.py @@ -84,7 +84,7 @@ class TestInlineIpsec(TestCase): self.txnetobj = self.tester.ports_info[self.txport]['port'] self.txnetobj.enable_jumbo(framesize=ETHER_JUMBO_FRAME_MTU + 100) - self.path = "./examples/ipsec-secgw/build/ipsec-secgw" + self.path = self.dut.apps_name['ipsec-secgw'] # add print code in IPSEC app sedcmd = r"""sed -i -e 's/if (nb_rx > 0)/if (nb_rx > 0) {/g' -e '/\/\* dequeue and process completed crypto-ops \*\//i\\t\t\t}' -e '/process_pkts(qconf, pkts, nb_rx, portid);/i\\t\t\t\tprintf("[debug]receive %llu packet in rxqueueid=%llu\\n",(unsigned long long)nb_rx, (unsigned long long)queueid);' examples/ipsec-secgw/ipsec-secgw.c""" self.dut.send_expect(sedcmd, "#", 60) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_ip_pipeline.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/tests/TestSuite_ip_pipeline.py b/tests/TestSuite_ip_pipeline.py index f05b5cd..c9a473e 100644 --- a/tests/TestSuite_ip_pipeline.py +++ b/tests/TestSuite_ip_pipeline.py @@ -222,7 +222,8 @@ class TestIPPipeline(TestCase): out = self.dut.build_dpdk_apps("./examples/ip_pipeline") self.verify("Error" not in out, "Compilation error") - + self.app_ip_pipline_path = self.dut.apps_name['ip_pipeline'] + self.app_testpmd_path = self.dut.apps_name['test-pmd'] self.param_flow_dir = self.get_flow_direction_param_of_tcpdump() def set_up(self): @@ -244,12 +245,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i -e 's/0000:06:00.1/%s/' ./examples/ip_pipeline/examples/route.cli" % self.dut_p3_pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.dut_p0_pci, self.dut_p1_pci, self.dut_p2_pci, self.dut_p3_pci) SCRIPT_FILE = "./examples/ip_pipeline/examples/route.cli" - cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_PORTS, SCRIPT_FILE) + cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_PORTS, SCRIPT_FILE) self.dut.send_expect(cmd, "30:31:32:33:34:35", 60) #rule 0 test @@ -313,12 +313,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i -e 's/0000:06:00.1/%s/' ./examples/ip_pipeline/examples/firewall.cli" % self.dut_p3_pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.dut_p0_pci, self.dut_p1_pci, self.dut_p2_pci, self.dut_p3_pci) SCRIPT_FILE = "./examples/ip_pipeline/examples/firewall.cli" - cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_PORTS, SCRIPT_FILE) + cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_PORTS, SCRIPT_FILE) self.dut.send_expect(cmd, "fwd port 3", 60) #rule 0 test @@ -382,12 +381,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i -e 's/0000:06:00.1/%s/' ./examples/ip_pipeline/examples/flow.cli" % self.dut_p3_pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.dut_p0_pci, self.dut_p1_pci, self.dut_p2_pci, self.dut_p3_pci) SCRIPT_FILE = "./examples/ip_pipeline/examples/flow.cli" - cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_PORTS, SCRIPT_FILE) + cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_PORTS, SCRIPT_FILE) self.dut.send_expect(cmd, "fwd port 3", 60) #rule 0 test @@ -451,12 +449,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i -e 's/0000:06:00.1/%s/' ./examples/ip_pipeline/examples/l2fwd.cli" % self.dut_p3_pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.dut_p0_pci, self.dut_p1_pci, self.dut_p2_pci, self.dut_p3_pci) SCRIPT_FILE = "./examples/ip_pipeline/examples/l2fwd.cli" - cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_PORTS, SCRIPT_FILE) + cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_PORTS, SCRIPT_FILE) self.dut.send_expect(cmd, "fwd port 2", 60) #rule 0 test @@ -522,8 +519,6 @@ class TestIPPipeline(TestCase): cmd = "sed -i '/mempool MEMPOOL0/a\link LINK0 dev %s rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on' ./examples/ip_pipeline/examples/l2fwd.cli" % self.sriov_vfs_port[0][0].pci self.dut.send_expect(cmd, "# ", 20) - TESTPMD = "./%s/app/testpmd" % self.target - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PF_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.dut_p0_pci, self.dut_p1_pci, self.dut_p2_pci, self.dut_p3_pci) PF_SCRIPT_FILE = "--file-prefix=pf --socket-mem 1024,1024" @@ -532,14 +527,14 @@ class TestIPPipeline(TestCase): .format(self.sriov_vfs_port[0][0].pci, self.sriov_vfs_port[1][0].pci, self.sriov_vfs_port[2][0].pci, self.sriov_vfs_port[3][0].pci) VF_SCRIPT_FILE = "./examples/ip_pipeline/examples/l2fwd.cli" - pf_cmd = "{0} -c 0xf0 -n 4 {1} {2} -- -i".format(TESTPMD, DUT_PF_PORTS, PF_SCRIPT_FILE) + pf_cmd = "{0} -c 0xf0 -n 4 {1} {2} -- -i".format(self.app_testpmd_path, DUT_PF_PORTS, PF_SCRIPT_FILE) self.dut.send_expect(pf_cmd, "testpmd> ", 60) self.dut.send_expect("set vf mac addr 0 0 %s" % self.vf0_mac, "testpmd> ", 30) self.dut.send_expect("set vf mac addr 1 0 %s" % self.vf1_mac, "testpmd> ", 30) self.dut.send_expect("set vf mac addr 2 0 %s" % self.vf2_mac, "testpmd> ", 30) self.dut.send_expect("set vf mac addr 3 0 %s" % self.vf3_mac, "testpmd> ", 30) - vf_cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_VF_PORTS, VF_SCRIPT_FILE) + vf_cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_VF_PORTS, VF_SCRIPT_FILE) self.session_secondary.send_expect(vf_cmd, "fwd port 2", 60) #rule 0 test @@ -604,12 +599,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i '/mempool MEMPOOL0/a\link LINK0 dev %s rxq 1 128 MEMPOOL0 txq 1 512 promiscuous on' ./examples/ip_pipeline/examples/l2fwd.cli" % self.sriov_vfs_port[0][0].pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_VF_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.sriov_vfs_port[0][0].pci, self.sriov_vfs_port[1][0].pci, self.sriov_vfs_port[2][0].pci, self.sriov_vfs_port[3][0].pci) VF_SCRIPT_FILE = "./examples/ip_pipeline/examples/l2fwd.cli" - vf_cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_VF_PORTS, VF_SCRIPT_FILE) + vf_cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_VF_PORTS, VF_SCRIPT_FILE) self.session_secondary.send_expect(vf_cmd, "fwd port 2", 60) #rule 0 test @@ -671,12 +665,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i -e 's/0000:02:00.1/%s/' ./examples/ip_pipeline/examples/tap.cli" % self.dut_p1_pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PORTS = " -w {0} -w {1} "\ .format(self.dut_p0_pci, self.dut_p1_pci) SCRIPT_FILE = "./examples/ip_pipeline/examples/tap.cli" - cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_PORTS, SCRIPT_FILE) + cmd = "{0} -c 0x3 -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_PORTS, SCRIPT_FILE) self.dut.send_expect(cmd, "fwd port 3", 60) tap_session = self.dut.new_session() @@ -729,12 +722,11 @@ class TestIPPipeline(TestCase): cmd = "sed -i -e 's/0000:06:00.1/%s/' ./examples/ip_pipeline/examples/rss.cli" % self.dut_p3_pci self.dut.send_expect(cmd, "# ", 20) - IP_PIPELINE = "./examples/ip_pipeline/build/ip_pipeline" DUT_PORTS = " -w {0} -w {1} -w {2} -w {3} "\ .format(self.dut_p0_pci, self.dut_p1_pci, self.dut_p2_pci, self.dut_p3_pci) SCRIPT_FILE = "./examples/ip_pipeline/examples/rss.cli" - cmd = "{0} -c 0x1f -n 4 {1} -- -s {2}".format(IP_PIPELINE, DUT_PORTS, SCRIPT_FILE) + cmd = "{0} -c 0x1f -n 4 {1} -- -s {2}".format(self.app_ip_pipline_path, DUT_PORTS, SCRIPT_FILE) self.dut.send_expect(cmd, "PIPELINE3 enable", 60) #rule 0 test -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_ipfrag.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/TestSuite_ipfrag.py b/tests/TestSuite_ipfrag.py index 8ad2e82..4efc7a2 100644 --- a/tests/TestSuite_ipfrag.py +++ b/tests/TestSuite_ipfrag.py @@ -103,8 +103,8 @@ class TestIpfrag(TestCase): pat = re.compile("P([0123])") # Prepare long prefix match table, replace P(x) port pattern - lpmStr_ipv4 = "static struct l3fwd_ipv4_route \ -l3fwd_ipv4_route_array[] = {\\\n" + lpmStr_ipv4 = "static struct l3fwd_ipv4_route " \ + "l3fwd_ipv4_route_array[] = {\\\n" rtLpmTbl = list(lpm_table_ipv4) for idx in range(len(rtLpmTbl)): rtLpmTbl[idx] = pat.sub(self.portRepl, rtLpmTbl[idx]) @@ -134,8 +134,10 @@ l3fwd_ipv4_route_array[] = {\\\n" eal_param += " -w %s" % self.dut.ports_info[i]['pci'] # run ipv4_frag - self.dut.send_expect("examples/ip_fragmentation/build/ip_fragmentation -c %s -n %d %s -- -p %s -q %s" % ( - coremask, self.dut.get_memory_channels(), eal_param, portmask, int(numPortThread)), "Link Up", 120) + self.app_ip_fragmentation_path = self.dut.apps_name['ip_fragmentation'] + self.dut.send_expect("%s -c %s -n %d %s -- -p %s -q %s" % (self.app_ip_fragmentation_path, coremask, + self.dut.get_memory_channels(), eal_param, portmask, + int(numPortThread)), "Link Up", 120) time.sleep(2) self.txItf = self.tester.get_interface(self.tester.get_local_port(P0)) @@ -310,8 +312,9 @@ l3fwd_ipv4_route_array[] = {\\\n" eal_param += " -w %s" % self.dut.ports_info[i]['pci'] self.dut.send_expect("^c", "# ", 120) - self.dut.send_expect("examples/ip_fragmentation/build/ip_fragmentation -c %s -n %d %s -- -p %s -q %s" % ( - core_mask, self.dut.get_memory_channels(), eal_param, portmask, num_pthreads), "IP_FRAG:", 120) + self.dut.send_expect("%s -c %s -n %d %s -- -p %s -q %s" % (self.app_ip_fragmentation_path, core_mask, + self.dut.get_memory_channels(), eal_param, portmask, + num_pthreads), "IP_FRAG:", 120) result = [2, lcore, num_pthreads] for size in size_list: -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_ipv4_reassembly.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/TestSuite_ipv4_reassembly.py b/tests/TestSuite_ipv4_reassembly.py index 8d69ac6..e3df14e 100644 --- a/tests/TestSuite_ipv4_reassembly.py +++ b/tests/TestSuite_ipv4_reassembly.py @@ -120,7 +120,7 @@ class TestIpReassembly(TestCase): Execute the example app and checks for errors. """ - command = ('./examples/ip_reassembly/build/ip_reassembly -c {core_mask} ' + + command = ('./%s -c {core_mask} ' % self.app_ip_reassembly_path + '-n {memory_channels} -- -p {dut_port_mask} ' + '--maxflows={maxflows} --flowttl={flowttl} {extra_args}') self.dut.send_expect( @@ -373,6 +373,7 @@ class TestIpReassembly(TestCase): self.tester.send_expect('export PS1="# "', '#') self.compile_example_app() + self.app_ip_reassembly_path = self.dut.apps_name['ip_reassembly'] dut_ports = self.dut.get_ports(self.nic) dut_port = dut_ports[0] self.destination_mac = self.dut.get_mac_address(dut_port) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_keep_alive.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_keep_alive.py b/tests/TestSuite_keep_alive.py index 1cab9c8..7bee4f0 100644 --- a/tests/TestSuite_keep_alive.py +++ b/tests/TestSuite_keep_alive.py @@ -51,8 +51,7 @@ class TestKeepAlive(TestCase): self.verify(len(self.dut_ports) >= 2, "Insufficient ports") cores = self.dut.get_core_list("1S/4C/1T") self.coremask = utils.create_mask(cores) - - self.path = "./examples/l2fwd-keepalive/build/l2fwd-keepalive" + self.app_l2fwd_keepalive_path = self.dut.apps_name['l2fwd-keepalive'] # build sample app out = self.dut.build_dpdk_apps("./examples/l2fwd-keepalive") @@ -69,7 +68,7 @@ class TestKeepAlive(TestCase): """ Verify netmap compatibility with one port """ - cmd = self.path + " -c f -n 4 -- -q 8 -p ffff -K 10" + cmd = self.app_l2fwd_keepalive_path + " -c f -n 4 -- -q 8 -p ffff -K 10" self.dut.send_expect(cmd,"Port statistics",60) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_kni.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_kni.py b/tests/TestSuite_kni.py index 8f95e75..f2d3ef9 100644 --- a/tests/TestSuite_kni.py +++ b/tests/TestSuite_kni.py @@ -263,7 +263,8 @@ class TestKni(TestCase): self.dut.send_expect("sed -i -e 's/CONFIG_RTE_KNI_KMOD=n$/CONFIG_RTE_KNI_KMOD=y/' config/common_base", "# ", 30) self.dut.build_install_dpdk(self.target) - out = self.dut.build_dpdk_apps("./examples/kni/") + out = self.dut.build_dpdk_apps("./examples/kni") + self.app_kni_path = self.dut.apps_name['kni'] self.verify('Error' not in out, "Compilation failed") p0_pci = self.dut.ports_info[0]['pci'] numa_node = int(self.dut.send_expect("cat /sys/bus/pci/devices/%s/numa_node"%p0_pci, "# ", 30)) @@ -341,8 +342,8 @@ class TestKni(TestCase): config_param = self.build_config_param() out_kni = self.dut.send_expect( - './examples/kni/build/kni -c %s -n %d -- -P -p %s %s -m &' % - (core_mask, self.dut.get_memory_channels(), port_mask, config_param), + './%s -c %s -n %d -- -P -p %s %s -m &' % + (self.app_kni_path, core_mask, self.dut.get_memory_channels(), port_mask, config_param), "Link Up", 20) time.sleep(5) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_l2fwd.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/TestSuite_l2fwd.py b/tests/TestSuite_l2fwd.py index f8c0d72..091ac09 100644 --- a/tests/TestSuite_l2fwd.py +++ b/tests/TestSuite_l2fwd.py @@ -70,6 +70,7 @@ class TestL2fwd(TestCase): # compile out = self.dut.build_dpdk_apps("./examples/l2fwd") + self.app_l2fwd_path = self.dut.apps_name['l2fwd'] self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") @@ -108,7 +109,7 @@ class TestL2fwd(TestCase): port_mask = utils.create_mask([self.dut_ports[0], self.dut_ports[1]]) eal_params = self.dut.create_eal_parameters() - self.dut.send_expect("./examples/l2fwd/build/l2fwd %s -- -q 8 -p %s &" % (eal_params, port_mask), + self.dut.send_expect("./%s %s -- -q 8 -p %s &" % (self.app_l2fwd_path, eal_params, port_mask), "L2FWD: entering main loop", 60) for i in [0, 1]: @@ -144,8 +145,8 @@ class TestL2fwd(TestCase): eal_params = self.dut.create_eal_parameters(cores=cores) for queues in self.test_queues: - command_line = "./examples/l2fwd/build/l2fwd %s -- -q %s -p %s &" % \ - (eal_params, str(queues['queues']), port_mask) + command_line = "./%s %s -- -q %s -p %s &" % \ + (self.app_l2fwd_path, eal_params, str(queues['queues']), port_mask) self.dut.send_expect(command_line, "L2FWD: entering main loop", 60) @@ -196,8 +197,8 @@ class TestL2fwd(TestCase): for queues in self.test_queues: - command_line = "./examples/l2fwd/build/l2fwd %s %s -- -q %s -p %s &" % \ - (eal_params, eal_param, str(queues['queues']), port_mask) + command_line = "./%s %s %s -- -q %s -p %s &" % \ + (self.app_l2fwd_path, eal_params, eal_param, str(queues['queues']), port_mask) # self.dut.send_expect(command_line, "memory mapped", 60) self.dut.send_expect(command_line, "L2FWD: entering main loop", 60) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_l3fwdacl.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/TestSuite_l3fwdacl.py b/tests/TestSuite_l3fwdacl.py index 1ab72a6..35b7c25 100644 --- a/tests/TestSuite_l3fwdacl.py +++ b/tests/TestSuite_l3fwdacl.py @@ -42,7 +42,6 @@ import packet class TestL3fwdacl(TestCase): - exe_path = "./examples/l3fwd-acl/build" all_ipv4_addresses = "0.0.0.0/0" all_ipv6_addresses = "0:0:0:0:0:0:0:0/0" all_ports = "0 : 65535" @@ -173,8 +172,8 @@ class TestL3fwdacl(TestCase): if scalar: extra_args = '--scalar' - cmdline = '%s/l3fwd-acl -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" %s' % \ - (TestL3fwdacl.exe_path, self.core_mask, self.dut.get_memory_channels(), + cmdline = '%s -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" %s' % \ + (self.app_l3fwd_acl_path, self.core_mask, self.dut.get_memory_channels(), self.port_mask, self.dut_ports[0], self.dut_ports[1], TestL3fwdacl.acl_ipv4_db, TestL3fwdacl.acl_ipv6_db, @@ -592,8 +591,8 @@ class TestL3fwdacl(TestCase): rule_list.append(TestL3fwdacl.default_rule) self.create_acl_ipv4_db(rule_list) - cmdline = '%s/l3fwd-acl -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"' % \ - (TestL3fwdacl.exe_path, self.core_mask, self.dut.get_memory_channels(), + cmdline = '%s -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"' % \ + (self.app_l3fwd_acl_path, self.core_mask, self.dut.get_memory_channels(), self.port_mask, self.dut_ports[0], self.dut_ports[1], TestL3fwdacl.acl_ipv4_db, TestL3fwdacl.acl_ipv6_db) @@ -611,8 +610,8 @@ class TestL3fwdacl(TestCase): rule_list.append(TestL3fwdacl.default_rule) self.create_acl_ipv6_db(rule_list) - cmdline = '%s/l3fwd-acl -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"' % \ - (TestL3fwdacl.exe_path, self.core_mask, self.dut.get_memory_channels(), + cmdline = '%s -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"' % \ + (self.app_l3fwd_acl_path, self.core_mask, self.dut.get_memory_channels(), self.port_mask, self.dut_ports[0], self.dut_ports[1], TestL3fwdacl.acl_ipv4_db, TestL3fwdacl.acl_ipv6_db) @@ -654,6 +653,7 @@ class TestL3fwdacl(TestCase): # compile l3fwd-acl out = self.dut.build_dpdk_apps("examples/l3fwd-acl") + self.app_l3fwd_acl_path = self.dut.apps_name['l3fwd-acl'] self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") @@ -840,8 +840,8 @@ class TestL3fwdacl(TestCase): rule_list_ipv4.append(TestL3fwdacl.invalid_port_rule_ipv4) self.create_acl_ipv4_db(rule_list_ipv4) - cmdline = '%s/l3fwd-acl -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --scalar' % \ - (TestL3fwdacl.exe_path, self.core_mask, self.dut.get_memory_channels(), + cmdline = '%s -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --scalar' % \ + (self.app_l3fwd_acl_path, self.core_mask, self.dut.get_memory_channels(), self.port_mask, self.dut_ports[0], self.dut_ports[1], TestL3fwdacl.acl_ipv4_db, TestL3fwdacl.acl_ipv6_db) @@ -852,8 +852,8 @@ class TestL3fwdacl(TestCase): rule_list_ipv6.append(TestL3fwdacl.invalid_port_rule_ipv6) self.create_acl_ipv6_db(rule_list_ipv6) - cmdline = '%s/l3fwd-acl -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --scalar' % \ - (TestL3fwdacl.exe_path, self.core_mask, self.dut.get_memory_channels(), + cmdline = '%s -c %s -n %d -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --scalar' % \ + (self.app_l3fwd_acl_path, self.core_mask, self.dut.get_memory_channels(), self.port_mask, self.dut_ports[0], self.dut_ports[1], TestL3fwdacl.acl_ipv4_db, TestL3fwdacl.acl_ipv6_db) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_link_status_interrupt.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/TestSuite_link_status_interrupt.py b/tests/TestSuite_link_status_interrupt.py index 3208d71..68ffb04 100644 --- a/tests/TestSuite_link_status_interrupt.py +++ b/tests/TestSuite_link_status_interrupt.py @@ -54,8 +54,7 @@ class TestLinkStatusInterrupt(TestCase): cores = self.dut.get_core_list("1S/4C/1T") self.coremask = utils.create_mask(cores) self.portmask = utils.create_mask(self.dut_ports) - - self.path = "./examples/link_status_interrupt/build/link_status_interrupt" + self.app_link_status_interrupt_path = self.dut.apps_name['link_status_interrupt'] # build sample app out = self.dut.build_dpdk_apps("./examples/link_status_interrupt") @@ -95,7 +94,7 @@ class TestLinkStatusInterrupt(TestCase): """ if self.drivername == "igb_uio": - cmdline = self.path + " -c %s -n %s -- -p %s " % ( + cmdline = self.app_link_status_interrupt_path + " -c %s -n %s -- -p %s " % ( self.coremask, self.dut.get_memory_channels(), self.portmask) for mode in self.basic_intr_mode: self.dut.send_expect("rmmod -f igb_uio", "#", 20) @@ -111,7 +110,7 @@ class TestLinkStatusInterrupt(TestCase): self.dut.send_expect("^C", "#", 60) elif self.drivername == "vfio-pci": for mode in self.basic_intr_mode: - cmdline = self.path + " -c %s -n %s --vfio-intr=%s -- -p %s" % ( + cmdline = self.app_link_status_interrupt_path + " -c %s -n %s --vfio-intr=%s -- -p %s" % ( self.coremask, self.dut.get_memory_channels(), mode, self.portmask) self.dut.send_expect(cmdline, "statistics", 120) self.set_link_status_and_verify(self.dut_ports[0], 'Down') @@ -124,7 +123,7 @@ class TestLinkStatusInterrupt(TestCase): sent packet, check packets received. """ if self.drivername == "igb_uio": - cmdline = self.path + " -c %s -n %s -- -p %s " % ( + cmdline = self.app_link_status_interrupt_path + " -c %s -n %s -- -p %s " % ( self.coremask, self.dut.get_memory_channels(), self.portmask) for mode in self.basic_intr_mode: self.dut.send_expect("rmmod -f igb_uio", "#", 20) @@ -148,7 +147,7 @@ class TestLinkStatusInterrupt(TestCase): self.dut.send_expect("^C", "#", 60) elif self.drivername == "vfio-pci": for mode in self.basic_intr_mode: - cmdline = self.path + " -c %s -n %s --vfio-intr=%s -- -p %s" % ( + cmdline = self.app_link_status_interrupt_path + " -c %s -n %s --vfio-intr=%s -- -p %s" % ( self.coremask, self.dut.get_memory_channels(), mode, self.portmask) self.dut.send_expect(cmdline, "Aggregate statistics", 60) for port in self.dut_ports: -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_metering_and_policing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/TestSuite_metering_and_policing.py b/tests/TestSuite_metering_and_policing.py index 73bcdbb..c481d45 100644 --- a/tests/TestSuite_metering_and_policing.py +++ b/tests/TestSuite_metering_and_policing.py @@ -44,6 +44,7 @@ from settings import HEADER_SIZE from dut import Dut from pmd_output import PmdOutput + class TestMeteringAndPolicing(TestCase): scapyCmds = [] @@ -154,7 +155,7 @@ class TestMeteringAndPolicing(TestCase): portmask = "0x10" Corelist = "0x1f" Servicecorelist = "0x10" - self.path = "./%s/app/testpmd" % self.target + self.path = self.dut.apps_name['test-pmd'] cmd = self.path + " -c %s -s %s -n %d --vdev 'net_softnic0,firmware=%s' \ -- -i --rxq=%d --txq=%d --portmask=%s --disable-rss" \ % (Corelist, Servicecorelist, self.dut.get_memory_channels(), filename, self.port_id, self.port_id, portmask) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_multicast.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_multicast.py b/tests/TestSuite_multicast.py index bab1b1e..a74e48d 100644 --- a/tests/TestSuite_multicast.py +++ b/tests/TestSuite_multicast.py @@ -83,7 +83,8 @@ class TestMulticast(TestCase): self.dut.send_expect(r"sed -i '/mcast_group_table\[\].*{/,/^\}\;/c\\%s' examples/ipv4_multicast/main.c" % repStr, "# ") # make application - out = self.dut.send_expect("make -C examples/ipv4_multicast", "#") + out = self.dut.build_dpdk_apps('examples/ipv4_multicast') + self.app_ipv4_multicast_path = self.dut.apps_name['ipv4_multicast'] self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") @@ -100,8 +101,8 @@ class TestMulticast(TestCase): cores = self.dut.get_core_list("1S/2C/1T") coremask = utils.create_mask(cores) payload = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - self.dut.send_expect("examples/ipv4_multicast/build/ipv4_multicast -c %s -n 4 -- -p %s -q 2" % ( - coremask, '0x5'), "IPv4_MULTICAST:", 60) + self.dut.send_expect("%s -c %s -n 4 -- -p %s -q 2" % (self.app_ipv4_multicast_path, + coremask, '0x5'), "IPv4_MULTICAST:", 60) for flow in list(trafficFlow.keys()): for tx_port in trafficFlow[flow][0].split(","): -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_pvp_virtio_user_4k_pages.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_pvp_virtio_user_4k_pages.py b/tests/TestSuite_pvp_virtio_user_4k_pages.py index 9bfd526..4650499 100644 --- a/tests/TestSuite_pvp_virtio_user_4k_pages.py +++ b/tests/TestSuite_pvp_virtio_user_4k_pages.py @@ -80,6 +80,7 @@ class TestPvpVirtioUser4kPages(TestCase): # create an instance to set stream field setting self.pktgen_helper = PacketGeneratorHelper() self.number_of_ports = 1 + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -141,7 +142,7 @@ class TestPvpVirtioUser4kPages(TestCase): """ Start testpmd on vhost """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = 'net_vhost0,iface=vhost-net,queues=1' para = " -- -i --no-numa --socket-num=%d" % self.ports_socket eal_params = self.dut.create_eal_parameters(cores=self.core_list_vhost_user, prefix='vhost', ports=[self.pci_info], vdevs=[vdev]) @@ -153,7 +154,7 @@ class TestPvpVirtioUser4kPages(TestCase): """ Start testpmd on virtio """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = "net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,queues=1" if not packed else "net_virtio_user0,mac=00:11:22:33:44:10,path=./vhost-net,packed_vq=1,queues=1" eal_params = self.dut.create_eal_parameters(cores=self.core_list_virtio_user, prefix='virtio-user', ports=[self.pci_info], vdevs=[vdev]) command_line_user = testcmd + eal_params + ' --no-huge -m 1024 -- -i' -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py index c35f79d..d916d17 100644 --- a/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py +++ b/tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py @@ -71,6 +71,7 @@ class TestPVPVirtioUserMultiQueuesPortRestart(TestCase): self.queue_number = 2 self.dut.kill_all() self.number_of_ports = 1 + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -89,7 +90,7 @@ class TestPVPVirtioUserMultiQueuesPortRestart(TestCase): """ self.dut.send_expect("killall -s INT testpmd", "#") self.dut.send_expect("rm -rf ./vhost-net*", "#") - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = 'net_vhost0,iface=vhost-net,queues=2,client=0' eal_params = self.dut.create_eal_parameters(cores=self.core_list[2:5], prefix='vhost', ports=[self.pci_info], vdevs=[vdev]) @@ -108,7 +109,7 @@ class TestPVPVirtioUserMultiQueuesPortRestart(TestCase): """ start testpmd in vm depend on different path """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " eal_params = self.dut.create_eal_parameters(cores=self.core_list[5:8], prefix='virtio', no_pci=True, vdevs=[vdevs]) if self.check_2M_env: -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_short_live.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/TestSuite_short_live.py b/tests/TestSuite_short_live.py index 5a91420..60a3d2e 100644 --- a/tests/TestSuite_short_live.py +++ b/tests/TestSuite_short_live.py @@ -64,6 +64,9 @@ class TestShortLiveApp(TestCase): """ self.ports = self.dut.get_ports(self.nic) self.verify(len(self.ports) >= 2, "Insufficient number of ports.") + self.app_l2fwd_path = self.dut.apps_name['l2fwd'] + self.app_l3fwd_path = self.dut.apps_name['l3fwd'] + self.app_testpmd = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -138,7 +141,7 @@ class TestShortLiveApp(TestCase): Basic rx/tx forwarding test """ #dpdk start - self.dut.send_expect("./%s/app/testpmd -c 0xf -n 4 -- -i --portmask=0x3" % self.target, "testpmd>", 120) + self.dut.send_expect("./%s -c 0xf -n 4 -- -i --portmask=0x3" % self.app_testpmd, "testpmd>", 120) time.sleep(5) self.dut.send_expect("set fwd mac", "testpmd>") self.dut.send_expect("set promisc all off", "testpmd>") @@ -170,7 +173,7 @@ class TestShortLiveApp(TestCase): for i in range(repeat_time): #dpdk start print("clean_up_with_signal_testpmd round %d" % (i + 1)) - self.dut.send_expect("./%s/app/testpmd -c 0xf -n 4 -- -i --portmask=0x3" % self.target, "testpmd>", 120) + self.dut.send_expect("./%s -c 0xf -n 4 -- -i --portmask=0x3" % self.app_testpmd, "testpmd>", 120) self.dut.send_expect("set fwd mac", "testpmd>") self.dut.send_expect("set promisc all off", "testpmd>") self.dut.send_expect("start", "testpmd>") @@ -195,7 +198,7 @@ class TestShortLiveApp(TestCase): for i in range(repeat_time): #dpdk start print("clean_up_with_signal_l2fwd round %d" % (i + 1)) - self.dut.send_expect("./examples/l2fwd/build/l2fwd -n 4 -c 0xf -- -p 0x3 &", "L2FWD: entering main loop", 60) + self.dut.send_expect("%s -n 4 -c 0xf -- -p 0x3 &" % self.app_l2fwd_path, "L2FWD: entering main loop", 60) self.check_forwarding([0, 1], self.nic) # kill with different Signal @@ -211,7 +214,7 @@ class TestShortLiveApp(TestCase): for i in range(repeat_time): #dpdk start print("clean_up_with_signal_l3fwd round %d" % (i + 1)) - self.dut.send_expect("./examples/l3fwd/build/l3fwd -n 4 -c 0xf -- -p 0x3 --config='(0,0,1),(1,0,2)' &", "L3FWD: entering main loop", 120) + self.dut.send_expect("%s -n 4 -c 0xf -- -p 0x3 --config='(0,0,1),(1,0,2)' &" % self.app_l3fwd_path, "L3FWD: entering main loop", 120) self.check_forwarding([0, 0], self.nic) # kill with different Signal -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_skeleton.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_skeleton.py b/tests/TestSuite_skeleton.py index 38bc523..7ae19f6 100644 --- a/tests/TestSuite_skeleton.py +++ b/tests/TestSuite_skeleton.py @@ -55,8 +55,8 @@ class TestSkeleton(TestCase): self.coremask = utils.create_mask(cores) self.mac = self.dut.get_mac_address(self.dut_ports[0]) - self.path = "./examples/skeleton/build/basicfwd" - + self.app_skeleton_path = self.dut.apps_name['skeleton'] + self.path = "./%s/build/basicfwd" % self.app_skeleton_path out = self.dut.build_dpdk_apps("./examples/skeleton") self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_timer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_timer.py b/tests/TestSuite_timer.py index 4d0434e..0be8029 100644 --- a/tests/TestSuite_timer.py +++ b/tests/TestSuite_timer.py @@ -52,7 +52,7 @@ class TestTimer(TestCase): timer prerequisites """ out = self.dut.build_dpdk_apps('examples/timer') - + self.app_timer_path = self.dut.apps_name['timer'] self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") @@ -72,7 +72,7 @@ class TestTimer(TestCase): coreMask = utils.create_mask(cores) # run timer on the background - cmdline = "./examples/timer/build/timer -n 1 -c " + coreMask + " &" + cmdline = "./%s -n 1 -c " % self.app_timer_path + coreMask + " &" self.dut.send_expect(cmdline, "# ", 1) time.sleep(15) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_userspace_ethtool.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_userspace_ethtool.py b/tests/TestSuite_userspace_ethtool.py index 2b8fa17..213a628 100644 --- a/tests/TestSuite_userspace_ethtool.py +++ b/tests/TestSuite_userspace_ethtool.py @@ -62,14 +62,14 @@ class TestUserspaceEthtool(TestCase, IxiaPacketGenerator): self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") - path = "./examples/ethtool/ethtool-app/%s/ethtool" % self.target + self.app_ethtool_path = self.dut.apps_name['ethtool'] used_dut_port_pci = self.dut.ports_info[self.ports[0]]['port'].pci out = self.dut.send_expect("cat /sys/bus/pci/devices/%s/numa_node " % used_dut_port_pci, "# ") cpu_cores = self.dut.send_expect('lscpu |grep "NUMA node%s CPU(s):"' % out, "# ") core = re.findall(r"\d+-(\d+)", cpu_cores)[0] core = int(core) cores = "%d,%d,%d,%d" % (core - 1, core - 2, core - 3, core - 4) - self.cmd = "%s -l %s -n %d" % (path, cores, self.dut.get_memory_channels()) + self.cmd = "%s -l %s -n %d" % (self.app_ethtool_path, cores, self.dut.get_memory_channels()) # pause frame basic configuration self.pause_time = 65535 -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vdev_primary_secondary.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_vdev_primary_secondary.py b/tests/TestSuite_vdev_primary_secondary.py index 7c557ad..0919c1f 100644 --- a/tests/TestSuite_vdev_primary_secondary.py +++ b/tests/TestSuite_vdev_primary_secondary.py @@ -64,6 +64,8 @@ class TestVdevPrimarySecondary(TestCase): self.verify(len(self.coremask) >= 6, "The machine has too few cores.") self.base_dir = self.dut.base_dir.replace('~', '/root') self.pci_info = self.dut.ports_info[0]['pci'] + self.app_testpmd_path = self.dut.apps_name['test-pmd'] + self.app_symmetric_mp_path = self.dut.apps_name['symmetric_mp'] def set_up(self): """ @@ -104,7 +106,7 @@ class TestVdevPrimarySecondary(TestCase): """ launch testpmd """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev1 = " --vdev 'net_vhost0,iface=%s/vhost-net0,queues=%d,client=1'" % (self.base_dir, self.queues) vdev2 = " --vdev 'net_vhost1,iface=%s/vhost-net1,queues=%d,client=1'" % (self.base_dir, self.queues) eal_params = self.dut.create_eal_parameters(cores="1S/12C/1T", prefix='vhost', ports=[self.pci_info]) @@ -116,8 +118,8 @@ class TestVdevPrimarySecondary(TestCase): def launch_examples(self): - example_cmd_auto = "./examples/multi_process/symmetric_mp/build/symmetric_mp -l 0 -n %d --proc-type=auto -- -p 3 --num-procs=%d --proc-id=0" - example_cmd_secondary = "./examples/multi_process/symmetric_mp/build/symmetric_mp -l 1 -n %d --proc-type=secondary -- -p 3 --num-procs=%d --proc-id=1" + example_cmd_auto = self.app_symmetric_mp_path + " -l 0 -n %d --proc-type=auto -- -p 3 --num-procs=%d --proc-id=0" + example_cmd_secondary = self.app_symmetric_mp_path + " -l 1 -n %d --proc-type=secondary -- -p 3 --num-procs=%d --proc-id=1" final_cmd_first = example_cmd_auto % (self.mem_channels, self.queues) final_cmd_secondary = example_cmd_secondary % (self.mem_channels, self.queues) self.vhost_first.send_expect(final_cmd_first, "Lcore", 120) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vhost_pmd_xstats.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_vhost_pmd_xstats.py b/tests/TestSuite_vhost_pmd_xstats.py index 3873213..f68385f 100755 --- a/tests/TestSuite_vhost_pmd_xstats.py +++ b/tests/TestSuite_vhost_pmd_xstats.py @@ -72,6 +72,7 @@ class TestVhostPmdXstats(TestCase): self.core_list_user = self.core_list[0:3] self.core_list_host = self.core_list[3:6] self.dst_mac = self.dut.get_mac_address(self.dut_ports[0]) + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -118,7 +119,7 @@ class TestVhostPmdXstats(TestCase): """ eal_param = self.dut.create_eal_parameters(socket=self.ports_socket, cores=self.core_list_host, prefix='vhost', vdevs=['net_vhost0,iface=vhost-net,queues=2,client=0']) - command_line_client = "./%s/app/testpmd " % self.target + eal_param + ' -- -i --nb-cores=2 --rxq=2 --txq=2 --rss-ip' + command_line_client = "./%s " % self.app_testpmd_path + eal_param + ' -- -i --nb-cores=2 --rxq=2 --txq=2 --rss-ip' self.vhost_user.send_expect(command_line_client, "testpmd> ", 120) self.vhost_user.send_expect("set fwd io", "testpmd> ", 120) self.vhost_user.send_expect("start", "testpmd> ", 120) @@ -132,7 +133,7 @@ class TestVhostPmdXstats(TestCase): 'net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,queues=2,%s' % args["version"]]) if self.check_2M_env: eal_param += " --single-file-segments" - command_line_user = "./%s/app/testpmd " % self.target + eal_param + " -- -i %s --rss-ip --nb-cores=2 --rxq=2 --txq=2" % \ + command_line_user = "./%s " % self.app_testpmd_path + eal_param + " -- -i %s --rss-ip --nb-cores=2 --rxq=2 --txq=2" % \ args["path"] self.virtio_user.send_expect(command_line_user, "testpmd> ", 120) self.virtio_user.send_expect("set fwd io", "testpmd> ", 120) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vhost_user_interrupt.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_vhost_user_interrupt.py b/tests/TestSuite_vhost_user_interrupt.py index cc8fba7..487e058 100644 --- a/tests/TestSuite_vhost_user_interrupt.py +++ b/tests/TestSuite_vhost_user_interrupt.py @@ -51,6 +51,8 @@ class TestVhostUserInterrupt(TestCase): self.vmac = "00:11:22:33:44:10" self.pci_info = self.dut.ports_info[0]['pci'] self.prepare_l3fwd_power() + self.app_l3fwd_power_path = self.dut.apps_name['l3fwd-power'] + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -92,7 +94,7 @@ class TestVhostUserInterrupt(TestCase): if self.check_2M_env: eal_params += " --single-file-segments" para = " -- -i --rxq=%d --txq=%d --rss-ip" % (self.queues, self.queues) - command_line_client = self.dut.target + "/app/testpmd " + eal_params + para + command_line_client = self.app_testpmd_path + " " + eal_params + para self.virtio_user.send_expect(command_line_client, "testpmd> ", 120) self.virtio_user.send_expect("set fwd txonly", "testpmd> ", 20) @@ -115,7 +117,7 @@ class TestVhostUserInterrupt(TestCase): info = {'core': self.core_list_l3fwd[i], 'port': 0, 'queue': i} self.verify_info.append(info) - example_cmd = "./examples/l3fwd-power/build/l3fwd-power " + example_cmd = self.app_l3fwd_power_path + " " vdev = 'net_vhost0,iface=vhost-net,queues=%d,client=1' % self.queues para = " -- -p 0x1 --parse-ptype 1 --config '%s' --interrupt-only" % config_info eal_params = self.dut.create_eal_parameters(cores=self.core_list_l3fwd, no_pci=True, ports=[self.pci_info], vdevs=[vdev]) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vhost_virtio_pmd_interrupt.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_vhost_virtio_pmd_interrupt.py b/tests/TestSuite_vhost_virtio_pmd_interrupt.py index 99ee657..f6b1d95 100644 --- a/tests/TestSuite_vhost_virtio_pmd_interrupt.py +++ b/tests/TestSuite_vhost_virtio_pmd_interrupt.py @@ -70,6 +70,8 @@ class TestVhostVirtioPmdInterrupt(TestCase): # create an instance to set stream field setting self.pktgen_helper = PacketGeneratorHelper() self.base_dir = self.dut.base_dir.replace('~', '/root') + self.app_l3fwd_power_path = self.dut.apps_name['l3fwd-power'] + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -116,7 +118,7 @@ class TestVhostVirtioPmdInterrupt(TestCase): """ # get the core list depend on current nb_cores number self.get_core_list() - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = ['net_vhost0,iface=%s/vhost-net,queues=%d' % (self.base_dir, self.queues)] eal_params = self.dut.create_eal_parameters(cores=self.core_list, ports=[self.pci_info], vdevs=vdev) para = " -- -i --nb-cores=%d --rxq=%d --txq=%d --rss-ip" % (self.nb_cores, self.queues, self.queues) @@ -144,7 +146,7 @@ class TestVhostVirtioPmdInterrupt(TestCase): info = {'core': core_list_l3fwd[queue], 'port': 0, 'queue': queue} self.verify_info.append(info) - command_client = "./examples/l3fwd-power/build/l3fwd-power " + \ + command_client = "./%s " % self.app_l3fwd_power_path + \ "-c %s -n 4 --log-level='user1,7' -- -p 1 -P " + \ "--config '%s' --no-numa --parse-ptype --interrupt-only" command_line_client = command_client % (core_mask_l3fwd, config_info) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vhost_virtio_user_interrupt.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_vhost_virtio_user_interrupt.py b/tests/TestSuite_vhost_virtio_user_interrupt.py index e882c3a..118fb8e 100644 --- a/tests/TestSuite_vhost_virtio_user_interrupt.py +++ b/tests/TestSuite_vhost_virtio_user_interrupt.py @@ -62,6 +62,8 @@ class TestVirtioUserInterrupt(TestCase): self.prepare_l3fwd_power() self.tx_port = self.tester.get_local_port(self.dut_ports[0]) self.tx_interface = self.tester.get_interface(self.tx_port) + self.app_l3fwd_power_path = self.dut.apps_name['l3fwd-power'] + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -96,7 +98,7 @@ class TestVirtioUserInterrupt(TestCase): def launch_l3fwd(self, path, packed=False): self.core_interrupt = self.core_list_l3fwd[0] - example_para = "./examples/l3fwd-power/build/l3fwd-power " + example_para = "./%s " % self.app_l3fwd_power_path vdev = "virtio_user0,path=%s,cq=1" % path if not packed else "virtio_user0,path=%s,cq=1,packed_vq=1" % path eal_params = self.dut.create_eal_parameters(cores=self.core_list_l3fwd, prefix='l3fwd-pwd', no_pci=True, ports=[self.pci_info], vdevs=[vdev]) if self.check_2M_env: @@ -116,7 +118,7 @@ class TestVirtioUserInterrupt(TestCase): """ start testpmd on vhost side """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = ["net_vhost0,iface=vhost-net,queues=1,client=0"] para = " -- -i --rxq=1 --txq=1" if len(pci) == 0: @@ -133,7 +135,7 @@ class TestVirtioUserInterrupt(TestCase): """ start testpmd on virtio side """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = "net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net" if not packed else "net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net,packed_vq=1" eal_params = self.dut.create_eal_parameters(cores=self.core_list_l3fwd, prefix='virtio', no_pci=True, vdevs=[vdev]) para = " -- -i --txd=512 --rxd=128 --tx-offloads=0x00" -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_virtio_event_idx_interrupt.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/TestSuite_virtio_event_idx_interrupt.py b/tests/TestSuite_virtio_event_idx_interrupt.py index bdcca29..34d6cb7 100644 --- a/tests/TestSuite_virtio_event_idx_interrupt.py +++ b/tests/TestSuite_virtio_event_idx_interrupt.py @@ -67,6 +67,7 @@ class TestVirtioIdxInterrupt(TestCase): self.tester.send_expect('mkdir -p %s' % self.out_path, '# ') # create an instance to set stream field setting self.pktgen_helper = PacketGeneratorHelper() + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -92,7 +93,7 @@ class TestVirtioIdxInterrupt(TestCase): """ # get the core mask depend on the nb_cores number self.get_core_mask() - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = ['net_vhost,iface=%s/vhost-net,queues=%d ' % (self.base_dir, self.queues)] eal_params = self.dut.create_eal_parameters(cores=self.core_list, prefix='vhost', ports=[self.pf_pci], vdevs=vdev) para = " -- -i --nb-cores=%d --txd=1024 --rxd=1024 --rxq=%d --txq=%d" % (self.nb_cores, self.queues, self.queues) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_virtio_pvp_regression.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_virtio_pvp_regression.py b/tests/TestSuite_virtio_pvp_regression.py index 942c924..80b4752 100644 --- a/tests/TestSuite_virtio_pvp_regression.py +++ b/tests/TestSuite_virtio_pvp_regression.py @@ -92,6 +92,7 @@ class TestVirtioPVPRegression(TestCase): # create an instance to set stream field setting self.pktgen_helper = PacketGeneratorHelper() self.base_dir = self.dut.base_dir.replace('~', '/root') + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -250,7 +251,7 @@ class TestVirtioPVPRegression(TestCase): """ Launch the vhost testpmd """ - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = [r"'eth_vhost0,iface=%s/vhost-net,queues=%d,client=1'" % (self.base_dir, self.queues_number)] eal_params = self.dut.create_eal_parameters(cores=self.cores, prefix='vhost', ports=[self.pci_info], vdevs=vdev) para = " -- -i --nb-cores=%d --rxq=%d --txq=%d --txd=1024 --rxd=1024" % (self.queues_number, self.queues_number, self.queues_number) @@ -277,7 +278,7 @@ class TestVirtioPVPRegression(TestCase): opt_args = '' if virtio_path in ['mergeable', 'normal']: opt_args = '--enable-hw-vlan-strip' - vm_testpmd = self.dut.target + "/app/testpmd -c 0x7 -n 4 " \ + vm_testpmd = self.app_testpmd_path + " -c 0x7 -n 4 " \ "-- -i %s --nb-cores=%s " \ "--rxq=%s --txq=%s --txd=1024 --rxd=1024" vm_testpmd = vm_testpmd % (opt_args, self.queues_number, -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_virtio_user_as_exceptional_path.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/TestSuite_virtio_user_as_exceptional_path.py b/tests/TestSuite_virtio_user_as_exceptional_path.py index 262db75..3c04f55 100644 --- a/tests/TestSuite_virtio_user_as_exceptional_path.py +++ b/tests/TestSuite_virtio_user_as_exceptional_path.py @@ -69,6 +69,7 @@ class TestVirtioUserAsExceptionalPath(TestCase): self.pktgen_helper = PacketGeneratorHelper() self.peer_pci_setup = False self.prepare_dpdk() + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): # @@ -112,7 +113,7 @@ class TestVirtioUserAsExceptionalPath(TestCase): cores_list = self.dut.get_core_list(cores_config, socket=self.socket) self.verify(len(cores_list) >= cores_number, "Failed to get cores list") core_mask = cores_list[0:2] - testcmd = self.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = "--vdev=virtio_user0,mac=%s,path=/dev/vhost-net," % self.virtio_mac eal_params = self.dut.create_eal_parameters(cores=core_mask, ports=[self.pci0]) para = " queue_size=1024,queues=%s -- -i --rxd=1024 --txd=1024 %s" % (self.queue, comment) @@ -127,7 +128,7 @@ class TestVirtioUserAsExceptionalPath(TestCase): self.dut.send_expect("taskset -pc %s %s" % (cores_list[-2], vhost_pid_list[2]), "# ") def launch_testpmd_exception_path(self): - testcmd = self.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = "--vdev=virtio_user0,mac=%s,path=/dev/vhost-net,queue_size=1024" % self.virtio_mac eal_params = self.dut.create_eal_parameters(cores=self.cores, ports=[self.pci]) para = " -- -i --rxd=1024 --txd=1024" -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vm2vm_virtio_net_perf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/TestSuite_vm2vm_virtio_net_perf.py b/tests/TestSuite_vm2vm_virtio_net_perf.py index 123685f..f1afb4f 100644 --- a/tests/TestSuite_vm2vm_virtio_net_perf.py +++ b/tests/TestSuite_vm2vm_virtio_net_perf.py @@ -65,6 +65,7 @@ class TestVM2VMVirtioNetPerf(TestCase): self.socket_mem = ','.join(['2048']*socket_num) self.vhost = self.dut.new_session(suite="vhost") self.pmd_vhost = PmdOutput(self.dut, self.vhost) + self.app_testpmd_path = self.dut.apps_name['test-pmd'] def set_up(self): """ @@ -84,7 +85,7 @@ class TestVM2VMVirtioNetPerf(TestCase): zerocopy_arg = ",dequeue-zero-copy=1" else: zerocopy_arg = "" - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev1 = "--vdev 'net_vhost0,iface=%s/vhost-net0,queues=1%s' " % (self.base_dir, zerocopy_arg) vdev2 = "--vdev 'net_vhost1,iface=%s/vhost-net1,queues=1%s' " % (self.base_dir, zerocopy_arg) eal_params = self.dut.create_eal_parameters(cores=self.cores_list, prefix='vhost', no_pci=True) -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vm2vm_virtio_pmd.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/tests/TestSuite_vm2vm_virtio_pmd.py b/tests/TestSuite_vm2vm_virtio_pmd.py index c26a084..5adeb2f 100644 --- a/tests/TestSuite_vm2vm_virtio_pmd.py +++ b/tests/TestSuite_vm2vm_virtio_pmd.py @@ -59,6 +59,8 @@ class TestVM2VMVirtioPMD(TestCase): self.virtio_user0 = None self.virtio_user1 = None self.pci_info = self.dut.ports_info[0]['pci'] + self.app_testpmd_path = self.dut.apps_name['test-pmd'] + self.app_pdump = self.dut.apps_name['pdump'] def set_up(self): """ @@ -88,6 +90,7 @@ class TestVM2VMVirtioPMD(TestCase): enable pcap lib in dpdk code and recompile """ client_dut.send_expect("sed -i 's/CONFIG_RTE_LIBRTE_PMD_PCAP=n$/CONFIG_RTE_LIBRTE_PMD_PCAP=y/' config/common_base", "#") + client_dut.set_build_options({'RTE_LIBRTE_PMD_PCAP': 'y'}) client_dut.build_install_dpdk(self.target) def disable_pcap_lib_in_dpdk(self, client_dut): @@ -95,6 +98,7 @@ class TestVM2VMVirtioPMD(TestCase): reset pcap lib in dpdk and recompile """ client_dut.send_expect("sed -i 's/CONFIG_RTE_LIBRTE_PMD_PCAP=y$/CONFIG_RTE_LIBRTE_PMD_PCAP=n/' config/common_base", "#") + client_dut.set_build_options({'RTE_LIBRTE_PMD_PCAP': 'n'}) client_dut.build_install_dpdk(self.target) def start_vhost_testpmd(self): @@ -102,7 +106,7 @@ class TestVM2VMVirtioPMD(TestCase): launch the testpmd on vhost side """ vhost_mask = self.cores_list[0:2] - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev1 = "--vdev 'net_vhost0,iface=%s/vhost-net0,queues=1' " % self.base_dir vdev2 = "--vdev 'net_vhost1,iface=%s/vhost-net1,queues=1' " % self.base_dir eal_params = self.dut.create_eal_parameters(cores=vhost_mask, no_pci=True, prefix='vhost', ports=[self.pci_info]) @@ -123,7 +127,7 @@ class TestVM2VMVirtioPMD(TestCase): """ self.virtio_user1 = self.dut.new_session(suite="virtio_user1") virtio_mask = self.cores_list[2:4] - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = "--vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,%s " % path_mode eal_params = self.dut.create_eal_parameters(cores=virtio_mask, no_pci=True, prefix='virtio', ports=[self.pci_info]) if self.check_2M_env: @@ -140,7 +144,7 @@ class TestVM2VMVirtioPMD(TestCase): """ self.virtio_user0 = self.dut.new_session(suite="virtio_user0") virtio_mask = self.cores_list[4:6] - testcmd = self.dut.target + "/app/testpmd " + testcmd = self.app_testpmd_path + " " vdev = "--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net0,queues=1,%s " % path_mode eal_params = self.dut.create_eal_parameters(cores=virtio_mask, no_pci=True, prefix='virtio0', ports=[self.pci_info]) if self.check_2M_env: @@ -161,17 +165,17 @@ class TestVM2VMVirtioPMD(TestCase): w_pci_list.append('-w %s,%s' % (virtio_net_pci, 'vectorized=1')) w_pci_str = ' '.join(w_pci_list) if path_mode == "mergeable": - command = self.dut.target + "/app/testpmd -c 0x3 -n 4 " + \ + command = self.app_testpmd_path + " -c 0x3 -n 4 " + \ "--file-prefix=virtio -- -i --tx-offloads=0x00 " + \ "--enable-hw-vlan-strip --txd=1024 --rxd=1024 %s" vm_client.send_expect(command % extern_param, "testpmd> ", 20) elif path_mode == "normal": - command = self.dut.target + "/app/testpmd -c 0x3 -n 4 " + \ + command = self.app_testpmd_path + " -c 0x3 -n 4 " + \ "--file-prefix=virtio -- -i --tx-offloads=0x00 " + \ "--enable-hw-vlan-strip --txd=1024 --rxd=1024 %s" vm_client.send_expect(command % extern_param, "testpmd> ", 20) elif path_mode == "vector_rx": - command = self.dut.target + "/app/testpmd -c 0x3 -n 4 " + \ + command = self.app_testpmd_path + " -c 0x3 -n 4 " + \ "--file-prefix=virtio %s -- -i --txd=1024 --rxd=1024 %s" vm_client.send_expect(command % (w_pci_str, extern_param), "testpmd> ", 20) @@ -181,12 +185,12 @@ class TestVM2VMVirtioPMD(TestCase): """ self.pdump_session = client_dut.new_session(suite="pdump") if hasattr(client_dut, "vm_name"): - command_line = self.target + "/app/dpdk-pdump " + \ + command_line = self.app_pdump + " " + \ "-v --file-prefix=virtio -- " + \ "--pdump '%s,queue=*,rx-dev=%s,mbuf-size=8000'" self.pdump_session.send_expect(command_line % (dump_port, self.dump_pcap), 'Port') else: - command_line = self.target + "/app/dpdk-pdump " + \ + command_line = self.app_pdump + " " + \ "-v --file-prefix=virtio_%s -- " + \ "--pdump '%s,queue=*,rx-dev=%s,mbuf-size=8000'" self.pdump_session.send_expect(command_line % (self.dut.prefix_subfix, dump_port, self.dump_pcap), 'Port') -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vm2vm_virtio_user.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/TestSuite_vm2vm_virtio_user.py b/tests/TestSuite_vm2vm_virtio_user.py index e743e61..16b90c0 100644 --- a/tests/TestSuite_vm2vm_virtio_user.py +++ b/tests/TestSuite_vm2vm_virtio_user.py @@ -59,6 +59,8 @@ class TestVM2VMVirtioUser(TestCase): self.rebuild_flag = False self.config_value = 'CONFIG_RTE_LIBRTE_PMD_PCAP' self.enable_pcap_lib_in_dpdk(self.dut) + self.app_testpmd_path = self.dut.apps_name['test-pmd'] + self.app_pdump = self.dut.apps_name['pdump'] def set_up(self): """ @@ -98,6 +100,7 @@ class TestVM2VMVirtioUser(TestCase): if str.lower(default_value) != 'y': client_dut.send_expect("sed -i 's/%s=n$/%s=y/' config/common_base" % ( self.config_value, self.config_value), '# ') + client_dut.set_build_options({'RTE_LIBRTE_PMD_PCAP': 'y'}) client_dut.build_install_dpdk(self.target) self.rebuild_flag = True @@ -108,6 +111,7 @@ class TestVM2VMVirtioUser(TestCase): if self.rebuild_flag is True: client_dut.send_expect("sed -i 's/%s=y$/%s=n/' config/common_base" % (self.config_value, self.config_value), "#") + client_dut.set_build_options({'RTE_LIBRTE_PMD_PCAP': 'n'}) client_dut.build_install_dpdk(self.target) def launch_vhost_testpmd(self, vdev_num, fixed_prefix=False, fwd_mode='io'): @@ -117,7 +121,7 @@ class TestVM2VMVirtioUser(TestCase): for i in range(vdev_num): vdev_params += "--vdev 'net_vhost%d,iface=./vhost-net%d,queues=1' " % (i, i) - self.command_line = self.dut.target + '/app/testpmd %s ' + \ + self.command_line = self.app_testpmd_path + ' %s ' + \ '--socket-mem %s %s -- -i --nb-cores=1 --no-flush-rx' self.command_line = self.command_line % ( @@ -139,7 +143,7 @@ class TestVM2VMVirtioUser(TestCase): if self.check_2M_env: eal_params += " --single-file-segments " vdev_params = '--vdev=net_virtio_user1,mac=00:01:02:03:04:05,path=./vhost-net1,queues=1,%s,queue_size=%d ' % (path_mode, ringsize) - command_line = self.dut.target + "/app/testpmd %s " + \ + command_line = self.app_testpmd_path + " %s " + \ "--socket-mem %s %s -- -i --nb-cores=1 --txd=%d --rxd=%d %s" command_line = command_line % (eal_params, self.socket_mem, vdev_params, ringsize, ringsize, extern_params) @@ -157,7 +161,7 @@ class TestVM2VMVirtioUser(TestCase): if self.check_2M_env: eal_params += " --single-file-segments " vdev_params = '--vdev=net_virtio_user0,mac=00:01:02:03:04:05,path=./vhost-net0,queues=1,%s,queue_size=%d ' % (path_mode, ringsize) - command_line = self.dut.target + '/app/testpmd %s ' + \ + command_line = self.app_testpmd_path + ' %s ' + \ '--socket-mem %s %s -- -i --nb-cores=1 --txd=%d --rxd=%d %s' command_line = command_line % (eal_params, self.socket_mem, vdev_params, ringsize, ringsize, extern_params) @@ -184,7 +188,7 @@ class TestVM2VMVirtioUser(TestCase): """ eal_params = self.dut.create_eal_parameters(cores='Default', prefix=file_prefix, fixed_prefix=True) - command_line = self.target + "/app/dpdk-pdump %s -v -- " + \ + command_line = self.app_pdump + " %s -v -- " + \ "--pdump '%s,queue=*,rx-dev=%s,mbuf-size=8000'" self.pdump_session.send_expect(command_line % (eal_params, dump_port, filename), 'Port') -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vmdq.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_vmdq.py b/tests/TestSuite_vmdq.py index 162636f..8e721e5 100644 --- a/tests/TestSuite_vmdq.py +++ b/tests/TestSuite_vmdq.py @@ -31,9 +31,11 @@ class TestVmdq(TestCase): self.dut.build_install_dpdk(self.target) # Update the max queue per port for Fortville. self.dut.send_expect("sed -i 's/define MAX_QUEUES 128/define MAX_QUEUES 1024/' ./examples/vmdq/main.c", "#", 5) - out = self.dut.send_expect("make -C examples/vmdq", "#", 10) + # out = self.dut.send_expect("make -C examples/vmdq", "#", 10) + out = self.dut.build_dpdk_apps('examples/vmdq') self.verify("Error" not in out, "Compilation error") + self.app_vmdq_path = self.dut.apps_name['vmdq'] self.frame_size = 64 self.header_size = HEADER_SIZE['ip'] + HEADER_SIZE['eth'] self.destmac_port = ["52:54:00:12:0%d:00" % i for i in self.dut_ports] @@ -86,8 +88,8 @@ class TestVmdq(TestCase): for i in self.dut_ports: eal_param += " -w %s" % self.dut.ports_info[i]['pci'] # Run the application - self.dut.send_expect("./examples/vmdq/build/vmdq_app -c %s -n 4 %s -- -p %s --nb-pools %s --enable-rss" % - (core_mask, eal_param, port_mask, str(npools)), "reading queues", 120) + self.dut.send_expect("./%s -c %s -n 4 %s -- -p %s --nb-pools %s --enable-rss" % + (self.app_vmdq_path, core_mask, eal_param, port_mask, str(npools)), "reading queues", 120) def get_tgen_input(self, prios): """ -- 1.8.3.1
From: Zhou jun <junx.w.zhou@intel.com> Signed-off-by: Zhou jun <junx.w.zhou@intel.com> --- tests/TestSuite_vxlan_sample.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/TestSuite_vxlan_sample.py b/tests/TestSuite_vxlan_sample.py index 2fa845e..feaad14 100644 --- a/tests/TestSuite_vxlan_sample.py +++ b/tests/TestSuite_vxlan_sample.py @@ -93,15 +93,18 @@ class TestVxlanSample(TestCase): self.pf_mac = self.dut.get_mac_address(self.pf) # build sample app - out = self.dut.send_expect("make -C examples/tep_termination", "# ") + out = self.dut.build_dpdk_apps('examples/tep_termination') + # out = self.dut.send_expect("make -C examples/tep_termination", "# ") self.verify("Error" not in out, "compilation error 1") self.verify("No such file" not in out, "compilation error 2") self.def_mac = "00:00:20:00:00:20" self.vm_dut = None - self.tep_app = "./examples/tep_termination/build/tep_termination" + # self.tep_app = "./examples/tep_termination/build/tep_termination" + self.app_tep_termination_path = self.dut.apps_name['tep_termination'] self.vxlan_port = 4789 - self.vm_testpmd = "./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 3" \ + self.app_testpmd_path = self.dut.apps_name['test-pmd'] + self.vm_testpmd = "./%s -c f -n 3" % self.app_testpmd_path \ + " -- -i --tx-offloads=0x8000" # params for tep_termination @@ -157,7 +160,7 @@ class TestVxlanSample(TestCase): elif self.running_case == "test_vxlan_sample_tso": chksum = self.FEAT_ENABLE - tep_cmd_temp = self.tep_app + " -c %(COREMASK)s -n %(CHANNELS)d " \ + tep_cmd_temp = self.app_tep_termination_path + " -c %(COREMASK)s -n %(CHANNELS)d " \ + "--socket-mem 2048,2048 -- -p 0x1 " \ + "--udp-port %(VXLAN_PORT)d --nb-devices %(NB_DEVS)d " \ + "--filter-type %(FILTERS)d " \ @@ -521,7 +524,7 @@ class TestVxlanSample(TestCase): decap = self.FEAT_ENABLE chksum = self.FEAT_ENABLE - tep_cmd_temp = self.tep_app + " -c %(COREMASK)s -n %(CHANNELS)d " \ + tep_cmd_temp = self.app_tep_termination_path + " -c %(COREMASK)s -n %(CHANNELS)d " \ + "--socket-mem 2048,2048 -- -p 0x1 --udp-port " \ + "%(VXLAN_PORT)d --nb-devices %(NB_DEVS)d --filter-type " \ + "%(FILTERS)d --tx-checksum %(TX_CHKS)d --encap %(ENCAP)d " \ -- 1.8.3.1
Tested-by: junx.w.zhou@intel.com -----Original Message----- From: Zhou, JunX W Sent: Tuesday, September 8, 2020 3:18 PM To: dts@dpdk.org Cc: Zhou, JunX W <junx.w.zhou@intel.com> Subject: [dts][PATCH V1 00/38] Modify suites to support meson From: Zhou jun <junx.w.zhou@intel.com> Modify suite to support meson Zhou jun (38): tests/TestSuite_cmdline.py: adapt to support both meson and makefile build tests/TestSuite_coremask.py: adapt to support both meson and makefile build tests/TestSuite_distributor.py: adapt to support both meson and makefile build tests/TestSuite_efd.py: adapt to support both meson and makefile build tests/TestSuite_external_memory.py: adapt to support both meson and makefile build tests/TestSuite_external_mempool_handler.py: adapt to support both meson and makefile build tests/TestSuite_flow_classify_softnic.py: adapt to support both meson and makefile build tests/TestSuite_hello_world.py: adapt to support both meson and makefile build tests/TestSuite_inline_ipsec.py: adapt to support both meson and makefile build tests/TestSuite_ip_pipeline.py: adapt to support both meson and makefile build tests/TestSuite_ipfrag.py: adapt to support both meson and makefile build tests/TestSuite_ipv4_reassembly.py: adapt to support both meson and makefile build tests/TestSuite_keep_alive.py: adapt to support both meson and makefile build tests/TestSuite_kni.py: adapt to support both meson and makefile build tests/TestSuite_l2fwd.py: adapt to support both meson and makefile build tests/TestSuite_l3fwdacl.py: adapt to support both meson and makefile build tests/TestSuite_link_status_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_metering_and_policing.py: adapt to support both meson and makefile build tests/TestSuite_multicast.py: adapt to support both meson and makefile build tests/TestSuite_pvp_virtio_user_4k_pages.py: adapt to support both meson and makefile build tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py: adapt to support both meson and makefile build tests/TestSuite_short_live.py: adapt to support both meson and makefile build tests/TestSuite_skeleton.py: adapt to support both meson and makefile build tests/TestSuite_timer.py: adapt to support both meson and makefile build tests/TestSuite_userspace_ethtool.py: adapt to support both meson and makefile build tests/TestSuite_vdev_primary_secondary.py: adapt to support both meson and makefile build tests/TestSuite_vhost_pmd_xstats.py: adapt to support both meson and makefile build tests/TestSuite_vhost_user_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_vhost_virtio_pmd_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_vhost_virtio_user_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_virtio_event_idx_interrupt.py: adapt to support both meson and makefile build tests/TestSuite_virtio_pvp_regression.py: adapt to support both meson and makefile build tests/TestSuite_virtio_user_as_exceptional_path.py: adapt to support both meson and makefile build tests/TestSuite_vm2vm_virtio_net_perf.py: adapt to support both meson and makefile build tests/TestSuite_vm2vm_virtio_pmd.py: adapt to support both meson and makefile build tests/TestSuite_vm2vm_virtio_user.py: adapt to support both meson and makefile build tests/TestSuite_vmdq.py: adapt to support both meson and makefile build tests/TestSuite_vxlan_sample.py: adapt to support both meson and makefile build tests/TestSuite_cmdline.py | 4 +-- tests/TestSuite_coremask.py | 16 +++++------- tests/TestSuite_distributor.py | 13 +++++----- tests/TestSuite_efd.py | 29 +++++++++++---------- tests/TestSuite_external_memory.py | 12 ++++----- tests/TestSuite_external_mempool_handler.py | 6 +++-- tests/TestSuite_flow_classify_softnic.py | 7 +++-- tests/TestSuite_hello_world.py | 5 ++-- tests/TestSuite_inline_ipsec.py | 2 +- tests/TestSuite_ip_pipeline.py | 30 ++++++++-------------- tests/TestSuite_ipfrag.py | 15 ++++++----- tests/TestSuite_ipv4_reassembly.py | 3 ++- tests/TestSuite_keep_alive.py | 5 ++-- tests/TestSuite_kni.py | 7 ++--- tests/TestSuite_l2fwd.py | 11 ++++---- tests/TestSuite_l3fwdacl.py | 22 ++++++++-------- tests/TestSuite_link_status_interrupt.py | 11 ++++---- tests/TestSuite_metering_and_policing.py | 3 ++- tests/TestSuite_multicast.py | 7 ++--- tests/TestSuite_pvp_virtio_user_4k_pages.py | 5 ++-- ...te_pvp_virtio_user_multi_queues_port_restart.py | 5 ++-- tests/TestSuite_short_live.py | 11 +++++--- tests/TestSuite_skeleton.py | 4 +-- tests/TestSuite_timer.py | 4 +-- tests/TestSuite_userspace_ethtool.py | 4 +-- tests/TestSuite_vdev_primary_secondary.py | 8 +++--- tests/TestSuite_vhost_pmd_xstats.py | 5 ++-- tests/TestSuite_vhost_user_interrupt.py | 6 +++-- tests/TestSuite_vhost_virtio_pmd_interrupt.py | 6 +++-- tests/TestSuite_vhost_virtio_user_interrupt.py | 8 +++--- tests/TestSuite_virtio_event_idx_interrupt.py | 3 ++- tests/TestSuite_virtio_pvp_regression.py | 5 ++-- tests/TestSuite_virtio_user_as_exceptional_path.py | 5 ++-- tests/TestSuite_vm2vm_virtio_net_perf.py | 3 ++- tests/TestSuite_vm2vm_virtio_pmd.py | 20 +++++++++------ tests/TestSuite_vm2vm_virtio_user.py | 12 ++++++--- tests/TestSuite_vmdq.py | 8 +++--- tests/TestSuite_vxlan_sample.py | 13 ++++++---- 38 files changed, 187 insertions(+), 156 deletions(-) -- 1.8.3.1
Applied the series, thanks
> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Zhou, JunX W
> Sent: 2020年9月8日 15:35
> To: dts@dpdk.org
> Subject: Re: [dts] [PATCH V1 00/38] Modify suites to support meson
>
> Tested-by: junx.w.zhou@intel.com
>
> -----Original Message-----
> From: Zhou, JunX W
> Sent: Tuesday, September 8, 2020 3:18 PM
> To: dts@dpdk.org
> Cc: Zhou, JunX W <junx.w.zhou@intel.com>
> Subject: [dts][PATCH V1 00/38] Modify suites to support meson
>
> From: Zhou jun <junx.w.zhou@intel.com>
>
> Modify suite to support meson
>
> Zhou jun (38):
> tests/TestSuite_cmdline.py: adapt to support both meson and makefile
> build
> tests/TestSuite_coremask.py: adapt to support both meson and makefile
> build
> tests/TestSuite_distributor.py: adapt to support both meson and
> makefile build
> tests/TestSuite_efd.py: adapt to support both meson and makefile build
> tests/TestSuite_external_memory.py: adapt to support both meson and
> makefile build
> tests/TestSuite_external_mempool_handler.py: adapt to support both
> meson and makefile build
> tests/TestSuite_flow_classify_softnic.py: adapt to support both meson
> and makefile build
> tests/TestSuite_hello_world.py: adapt to support both meson and
> makefile build
> tests/TestSuite_inline_ipsec.py: adapt to support both meson and
> makefile build
> tests/TestSuite_ip_pipeline.py: adapt to support both meson and
> makefile build
> tests/TestSuite_ipfrag.py: adapt to support both meson and makefile
> build
> tests/TestSuite_ipv4_reassembly.py: adapt to support both meson and
> makefile build
> tests/TestSuite_keep_alive.py: adapt to support both meson and
> makefile build
> tests/TestSuite_kni.py: adapt to support both meson and makefile build
> tests/TestSuite_l2fwd.py: adapt to support both meson and makefile
> build
> tests/TestSuite_l3fwdacl.py: adapt to support both meson and makefile
> build
> tests/TestSuite_link_status_interrupt.py: adapt to support both meson
> and makefile build
> tests/TestSuite_metering_and_policing.py: adapt to support both meson
> and makefile build
> tests/TestSuite_multicast.py: adapt to support both meson and makefile
> build
> tests/TestSuite_pvp_virtio_user_4k_pages.py: adapt to support both
> meson and makefile build
> tests/TestSuite_pvp_virtio_user_multi_queues_port_restart.py: adapt to
> support both meson and makefile build
> tests/TestSuite_short_live.py: adapt to support both meson and
> makefile build
> tests/TestSuite_skeleton.py: adapt to support both meson and makefile
> build
> tests/TestSuite_timer.py: adapt to support both meson and makefile
> build
> tests/TestSuite_userspace_ethtool.py: adapt to support both meson and
> makefile build
> tests/TestSuite_vdev_primary_secondary.py: adapt to support both meson
> and makefile build
> tests/TestSuite_vhost_pmd_xstats.py: adapt to support both meson and
> makefile build
> tests/TestSuite_vhost_user_interrupt.py: adapt to support both meson
> and makefile build
> tests/TestSuite_vhost_virtio_pmd_interrupt.py: adapt to support both
> meson and makefile build
> tests/TestSuite_vhost_virtio_user_interrupt.py: adapt to support both
> meson and makefile build
> tests/TestSuite_virtio_event_idx_interrupt.py: adapt to support both
> meson and makefile build
> tests/TestSuite_virtio_pvp_regression.py: adapt to support both meson
> and makefile build
> tests/TestSuite_virtio_user_as_exceptional_path.py: adapt to support
> both meson and makefile build
> tests/TestSuite_vm2vm_virtio_net_perf.py: adapt to support both meson
> and makefile build
> tests/TestSuite_vm2vm_virtio_pmd.py: adapt to support both meson and
> makefile build
> tests/TestSuite_vm2vm_virtio_user.py: adapt to support both meson and
> makefile build
> tests/TestSuite_vmdq.py: adapt to support both meson and makefile
> build
> tests/TestSuite_vxlan_sample.py: adapt to support both meson and
> makefile build
>
> tests/TestSuite_cmdline.py | 4 +--
> tests/TestSuite_coremask.py | 16 +++++-------
> tests/TestSuite_distributor.py | 13 +++++-----
> tests/TestSuite_efd.py | 29 +++++++++++----------
> tests/TestSuite_external_memory.py | 12 ++++-----
> tests/TestSuite_external_mempool_handler.py | 6 +++--
> tests/TestSuite_flow_classify_softnic.py | 7 +++--
> tests/TestSuite_hello_world.py | 5 ++--
> tests/TestSuite_inline_ipsec.py | 2 +-
> tests/TestSuite_ip_pipeline.py | 30 ++++++++--------------
> tests/TestSuite_ipfrag.py | 15 ++++++-----
> tests/TestSuite_ipv4_reassembly.py | 3 ++-
> tests/TestSuite_keep_alive.py | 5 ++--
> tests/TestSuite_kni.py | 7 ++---
> tests/TestSuite_l2fwd.py | 11 ++++----
> tests/TestSuite_l3fwdacl.py | 22 ++++++++--------
> tests/TestSuite_link_status_interrupt.py | 11 ++++----
> tests/TestSuite_metering_and_policing.py | 3 ++-
> tests/TestSuite_multicast.py | 7 ++---
> tests/TestSuite_pvp_virtio_user_4k_pages.py | 5 ++--
> ...te_pvp_virtio_user_multi_queues_port_restart.py | 5 ++--
> tests/TestSuite_short_live.py | 11 +++++---
> tests/TestSuite_skeleton.py | 4 +--
> tests/TestSuite_timer.py | 4 +--
> tests/TestSuite_userspace_ethtool.py | 4 +--
> tests/TestSuite_vdev_primary_secondary.py | 8 +++---
> tests/TestSuite_vhost_pmd_xstats.py | 5 ++--
> tests/TestSuite_vhost_user_interrupt.py | 6 +++--
> tests/TestSuite_vhost_virtio_pmd_interrupt.py | 6 +++--
> tests/TestSuite_vhost_virtio_user_interrupt.py | 8 +++---
> tests/TestSuite_virtio_event_idx_interrupt.py | 3 ++-
> tests/TestSuite_virtio_pvp_regression.py | 5 ++--
> tests/TestSuite_virtio_user_as_exceptional_path.py | 5 ++--
> tests/TestSuite_vm2vm_virtio_net_perf.py | 3 ++-
> tests/TestSuite_vm2vm_virtio_pmd.py | 20 +++++++++------
> tests/TestSuite_vm2vm_virtio_user.py | 12 ++++++---
> tests/TestSuite_vmdq.py | 8 +++---
> tests/TestSuite_vxlan_sample.py | 13 ++++++----
> 38 files changed, 187 insertions(+), 156 deletions(-)
>
> --
> 1.8.3.1