test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH V1] tests/vm2vm_virtio_net_perf: fix script issue
@ 2021-04-16  7:06 Ling Wei
  2021-04-16  7:12 ` Ling, WeiX
  0 siblings, 1 reply; 8+ messages in thread
From: Ling Wei @ 2021-04-16  7:06 UTC (permalink / raw)
  To: dts; +Cc: Ling Wei

1.Fix testcase 8 iperf test parameter wrong issue.
2.Use 'killall qemu-system-x86_64' command to kill qemu to avoid
when qemu exception can't quit issue.

Signed-off-by: Ling Wei <weix.ling@intel.com>
---
 tests/TestSuite_vm2vm_virtio_net_perf.py | 34 +++++++++++-------------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/tests/TestSuite_vm2vm_virtio_net_perf.py b/tests/TestSuite_vm2vm_virtio_net_perf.py
index d1e94093..51b94199 100644
--- a/tests/TestSuite_vm2vm_virtio_net_perf.py
+++ b/tests/TestSuite_vm2vm_virtio_net_perf.py
@@ -73,12 +73,16 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.device_str = None
         self.checked_vm = False
         self.dut.restore_interfaces()
+        self.path=self.dut.apps_name['test-pmd']
+        self.testpmd_name=self.path.split("/")[-1]
 
     def set_up(self):
         """
         run before each test case.
         """
         self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
+        self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
+        self.dut.send_expect("killall qemu-system-x86_64", "#")
         self.vm_dut = []
         self.vm = []
 
@@ -291,9 +295,8 @@ class TestVM2VMVirtioNetPerf(TestCase):
         return iperfdata
 
     def stop_all_apps(self):
-        for i in range(len(self.vm)):
-            self.vm[i].stop()
-        self.pmd_vhost.quit()
+        self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
+        self.dut.send_expect("killall -s INT qemu-system-x86_64", "#")
 
     def offload_capbility_check(self, vm_client):
         """
@@ -338,20 +341,13 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.verify(md5_send == md5_revd, 'the received file is different with send file')
 
     def bind_nic_driver(self, ports, driver=""):
-        if driver == "igb_uio":
-            for port in ports:
-                netdev = self.dut.ports_info[port]['port']
-                driver = netdev.get_nic_driver()
-                if driver != 'igb_uio':
-                    netdev.bind_driver(driver='igb_uio')
-        else:
-            for port in ports:
-                netdev = self.dut.ports_info[port]['port']
-                driver_now = netdev.get_nic_driver()
-                if driver == "":
-                    driver = netdev.default_driver
-                if driver != driver_now:
-                    netdev.bind_driver(driver=driver)
+        for port in ports:
+            netdev = self.dut.ports_info[port]['port']
+            driver_now = netdev.get_nic_driver()
+            if driver == "":
+                driver = netdev.default_driver
+            if driver != driver_now:
+                netdev.bind_driver(driver=driver)
 
     def test_vm2vm_split_ring_iperf_with_tso(self):
         """
@@ -490,7 +486,7 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.vm_args = "disable-modern=false,mrg_rxbuf=on,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,packed=on"
         self.prepare_test_env(cbdma=True, no_pci=False, client_mode=False, enable_queues=1, nb_cores=2,
                               server_mode=False, opt_queue=None, combined=False, rxq_txq=None)
-        self.start_iperf_and_verify_vhost_xstats_info(iperf_mode='ufo')
+        self.start_iperf_and_verify_vhost_xstats_info(iperf_mode='tso')
 
     def test_vm2vm_packed_ring_iperf_with_ufo(self):
         """
@@ -595,9 +591,9 @@ class TestVM2VMVirtioNetPerf(TestCase):
         """
         run after each test case.
         """
+        self.bind_cbdma_device_to_kernel()
         self.stop_all_apps()
         self.dut.kill_all()
-        self.bind_cbdma_device_to_kernel()
 
     def tear_down_all(self):
         """
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [dts] [PATCH V1] tests/vm2vm_virtio_net_perf: fix script issue
@ 2021-04-20  5:04 Wei Ling
  0 siblings, 0 replies; 8+ messages in thread
From: Wei Ling @ 2021-04-20  5:04 UTC (permalink / raw)
  To: dts; +Cc: Wei Ling

1.Fix testcase 8 iperf test parameter wrong issue.
2.Use 'killall qemu-system-x86_64' command to kill qemu to avoid
when qemu exception can't quit issue.

Signed-off-by: Wei Ling <weix.ling@intel.com>
---
 tests/TestSuite_vm2vm_virtio_net_perf.py | 36 ++++++++++++------------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/tests/TestSuite_vm2vm_virtio_net_perf.py b/tests/TestSuite_vm2vm_virtio_net_perf.py
index d1e94093..34ae0fbb 100644
--- a/tests/TestSuite_vm2vm_virtio_net_perf.py
+++ b/tests/TestSuite_vm2vm_virtio_net_perf.py
@@ -73,12 +73,16 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.device_str = None
         self.checked_vm = False
         self.dut.restore_interfaces()
+        self.path=self.dut.apps_name['test-pmd']
+        self.testpmd_name=self.path.split("/")[-1]
 
     def set_up(self):
         """
         run before each test case.
         """
         self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
+        self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
+        self.dut.send_expect("killall qemu-system-x86_64", "#")
         self.vm_dut = []
         self.vm = []
 
@@ -291,8 +295,11 @@ class TestVM2VMVirtioNetPerf(TestCase):
         return iperfdata
 
     def stop_all_apps(self):
-        for i in range(len(self.vm)):
-            self.vm[i].stop()
+        try:
+            for i in range(len(self.vm)):
+                self.vm[i].stop()
+        except:
+            self.dut.send_expect("killall qemu-system-x86_64", "#")
         self.pmd_vhost.quit()
 
     def offload_capbility_check(self, vm_client):
@@ -338,20 +345,13 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.verify(md5_send == md5_revd, 'the received file is different with send file')
 
     def bind_nic_driver(self, ports, driver=""):
-        if driver == "igb_uio":
-            for port in ports:
-                netdev = self.dut.ports_info[port]['port']
-                driver = netdev.get_nic_driver()
-                if driver != 'igb_uio':
-                    netdev.bind_driver(driver='igb_uio')
-        else:
-            for port in ports:
-                netdev = self.dut.ports_info[port]['port']
-                driver_now = netdev.get_nic_driver()
-                if driver == "":
-                    driver = netdev.default_driver
-                if driver != driver_now:
-                    netdev.bind_driver(driver=driver)
+        for port in ports:
+            netdev = self.dut.ports_info[port]['port']
+            driver_now = netdev.get_nic_driver()
+            if driver == "":
+                driver = netdev.default_driver
+            if driver != driver_now:
+                netdev.bind_driver(driver=driver)
 
     def test_vm2vm_split_ring_iperf_with_tso(self):
         """
@@ -490,7 +490,7 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.vm_args = "disable-modern=false,mrg_rxbuf=on,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,packed=on"
         self.prepare_test_env(cbdma=True, no_pci=False, client_mode=False, enable_queues=1, nb_cores=2,
                               server_mode=False, opt_queue=None, combined=False, rxq_txq=None)
-        self.start_iperf_and_verify_vhost_xstats_info(iperf_mode='ufo')
+        self.start_iperf_and_verify_vhost_xstats_info(iperf_mode='tso')
 
     def test_vm2vm_packed_ring_iperf_with_ufo(self):
         """
@@ -595,9 +595,9 @@ class TestVM2VMVirtioNetPerf(TestCase):
         """
         run after each test case.
         """
+        self.bind_cbdma_device_to_kernel()
         self.stop_all_apps()
         self.dut.kill_all()
-        self.bind_cbdma_device_to_kernel()
 
     def tear_down_all(self):
         """
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [dts] [PATCH V1] tests/vm2vm_virtio_net_perf: fix script issue
@ 2021-04-20  5:32 Wei Ling
  2021-04-20  5:58 ` Ling, WeiX
  2021-05-07  6:12 ` Tu, Lijuan
  0 siblings, 2 replies; 8+ messages in thread
From: Wei Ling @ 2021-04-20  5:32 UTC (permalink / raw)
  To: dts; +Cc: Wei Ling

1.Fix testcase 8 iperf test parameter wrong issue.
2.Add 'killall qemu-system-x86_64' step when use
vm.stop() to quit vm exception.

Signed-off-by: Wei Ling <weix.ling@intel.com>
---
 tests/TestSuite_vm2vm_virtio_net_perf.py | 41 ++++++++++++------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/tests/TestSuite_vm2vm_virtio_net_perf.py b/tests/TestSuite_vm2vm_virtio_net_perf.py
index d1e94093..bb0ccb32 100644
--- a/tests/TestSuite_vm2vm_virtio_net_perf.py
+++ b/tests/TestSuite_vm2vm_virtio_net_perf.py
@@ -73,12 +73,16 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.device_str = None
         self.checked_vm = False
         self.dut.restore_interfaces()
+        self.path=self.dut.apps_name['test-pmd']
+        self.testpmd_name=self.path.split("/")[-1]
 
     def set_up(self):
         """
         run before each test case.
         """
         self.dut.send_expect("rm -rf %s/vhost-net*" % self.base_dir, "#")
+        self.dut.send_expect("killall -s INT %s" % self.testpmd_name, "#")
+        self.dut.send_expect("killall qemu-system-x86_64", "#")
         self.vm_dut = []
         self.vm = []
 
@@ -291,8 +295,12 @@ class TestVM2VMVirtioNetPerf(TestCase):
         return iperfdata
 
     def stop_all_apps(self):
-        for i in range(len(self.vm)):
-            self.vm[i].stop()
+        # add killall qemu-system-x86_64 step when use vm.stop() to quit vm exception
+        try:
+            for i in range(len(self.vm)):
+                self.vm[i].stop()
+        except:
+            self.dut.send_expect("killall qemu-system-x86_64", "#")
         self.pmd_vhost.quit()
 
     def offload_capbility_check(self, vm_client):
@@ -338,20 +346,13 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.verify(md5_send == md5_revd, 'the received file is different with send file')
 
     def bind_nic_driver(self, ports, driver=""):
-        if driver == "igb_uio":
-            for port in ports:
-                netdev = self.dut.ports_info[port]['port']
-                driver = netdev.get_nic_driver()
-                if driver != 'igb_uio':
-                    netdev.bind_driver(driver='igb_uio')
-        else:
-            for port in ports:
-                netdev = self.dut.ports_info[port]['port']
-                driver_now = netdev.get_nic_driver()
-                if driver == "":
-                    driver = netdev.default_driver
-                if driver != driver_now:
-                    netdev.bind_driver(driver=driver)
+        for port in ports:
+            netdev = self.dut.ports_info[port]['port']
+            driver_now = netdev.get_nic_driver()
+            if driver == "":
+                driver = netdev.default_driver
+            if driver != driver_now:
+                netdev.bind_driver(driver=driver)
 
     def test_vm2vm_split_ring_iperf_with_tso(self):
         """
@@ -490,7 +491,7 @@ class TestVM2VMVirtioNetPerf(TestCase):
         self.vm_args = "disable-modern=false,mrg_rxbuf=on,csum=on,guest_csum=on,host_tso4=on,guest_tso4=on,guest_ecn=on,packed=on"
         self.prepare_test_env(cbdma=True, no_pci=False, client_mode=False, enable_queues=1, nb_cores=2,
                               server_mode=False, opt_queue=None, combined=False, rxq_txq=None)
-        self.start_iperf_and_verify_vhost_xstats_info(iperf_mode='ufo')
+        self.start_iperf_and_verify_vhost_xstats_info(iperf_mode='tso')
 
     def test_vm2vm_packed_ring_iperf_with_ufo(self):
         """
@@ -515,7 +516,7 @@ class TestVM2VMVirtioNetPerf(TestCase):
         """
         Test Case 11: VM2VM virtio-net packed ring mergeable 8 queues CBDMA enable test with large packet payload valid check
         """
-        # This test case need to use QEMU 3.0 to test
+        # This test case need to use QEMU version >= 4.x to test, but QEMU version >= 4.x reconnect vm also have issues.
         ipef_result = []
         self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=16, allow_diff_socket=True)
 
@@ -555,7 +556,7 @@ class TestVM2VMVirtioNetPerf(TestCase):
         """
         Test Case 12: VM2VM virtio-net packed ring non-mergeable 8 queues CBDMA enable test with large packet payload valid check
         """
-        # This test case need to use QEMU 3.0 to test
+        # This test case need to use QEMU version >= 4.x to test, but QEMU version >= 4.x reconnect vm also have issues.
         ipef_result = []
         self.get_cbdma_ports_info_and_bind_to_dpdk(cbdma_num=16, allow_diff_socket=True)
 
@@ -595,9 +596,9 @@ class TestVM2VMVirtioNetPerf(TestCase):
         """
         run after each test case.
         """
+        self.bind_cbdma_device_to_kernel()
         self.stop_all_apps()
         self.dut.kill_all()
-        self.bind_cbdma_device_to_kernel()
 
     def tear_down_all(self):
         """
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-05-07  6:12 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-16  7:06 [dts] [PATCH V1] tests/vm2vm_virtio_net_perf: fix script issue Ling Wei
2021-04-16  7:12 ` Ling, WeiX
2021-04-20  1:54   ` Wang, Yinan
2021-04-20  5:04 Wei Ling
2021-04-20  5:32 Wei Ling
2021-04-20  5:58 ` Ling, WeiX
2021-04-20  6:00   ` Wang, Yinan
2021-05-07  6:12 ` Tu, Lijuan

test suite reviews and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dts/0 dts/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dts dts/ https://inbox.dpdk.org/dts \
		dts@dpdk.org
	public-inbox-index dts

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dts


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git