[dts][PATCH V3] tests/port_control: optimize the test script to make run stably

Weiyuan Li weiyuanx.li at intel.com
Thu Sep 22 09:29:53 CEST 2022


The case of VF binds PF port to kernel driver, and the next test case
of PF needs to be bound to the dpdk driver, but it does not test failed.
So, add check whether the PF port is bound to the dpdk driver.

Signed-off-by: Weiyuan Li <weiyuanx.li at intel.com>
---
Tested-by: Jiale Song < songx.jiale at intel.com>
Acked-by: Peng Yuan <yuan.peng at intel.com>

v2:
-modify pattern "*drv=vfio-vfio" to "*drv={self.drvier}".
v3:
-modify script "dpdk-devbind.py -s" to "./usertools/dpdk-devbind.py -s"

 tests/TestSuite_port_control.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tests/TestSuite_port_control.py b/tests/TestSuite_port_control.py
index d571b01f..bdb1b0ad 100644
--- a/tests/TestSuite_port_control.py
+++ b/tests/TestSuite_port_control.py
@@ -37,6 +37,7 @@ class TestPortControl(TestCase):
         self.socket = self.dut.get_numa_id(self.dut_ports[0])
         port = self.dut.ports_info[0]["port"]
         self.pf_default_driver = port.get_nic_driver()
+        self.driver = self.get_suite_cfg()["vf_driver"]
 
     def set_up(self):
         """
@@ -191,6 +192,14 @@ class TestPortControl(TestCase):
         )
 
     def test_pf_start_stop_reset_close(self):
+        # check PF whether bind to vfio-pci
+        res = self.dut.send_expect("./usertools/dpdk-devbind.py -s", "#")
+        pattern = f"({self.dut.nic.pci}).*drv={self.driver}"
+        regex = re.compile(pattern)
+        mo = regex.search(res)
+        if mo is None:
+            self.bind_nic_driver(self.dut_ports[:1], driver=self.driver)
+
         self.start_testpmd(self.host_testpmd)
         # start port
         self.start_pmd_port(self.host_testpmd)
-- 
2.27.0



More information about the dts mailing list