[dts] [PATCH V1] tests/ptpclient: add the method of checking process status

Jiale Song songx.jiale at intel.com
Thu Jul 28 21:28:35 CEST 2022


add method to check process status, ensure that the process is killed.

Signed-off-by: Jiale Song <songx.jiale at intel.com>
---
 tests/TestSuite_ptpclient.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tests/TestSuite_ptpclient.py b/tests/TestSuite_ptpclient.py
index c7abdbc8..55ef98ff 100644
--- a/tests/TestSuite_ptpclient.py
+++ b/tests/TestSuite_ptpclient.py
@@ -7,7 +7,9 @@ DPDK Test suite.
 Test support of IEEE1588 Precise Time Protocol.
 """
 
+import os
 import re
+import subprocess
 import time
 
 import framework.utils as utils
@@ -146,11 +148,24 @@ class TestPtpClient(TestCase):
 
         self.verify(tester_out == dut_out, "the DUT time synchronous error")
 
+    def check_process_killed(self, name, timeout=5):
+        for one in range(timeout):
+            processes = subprocess.Popen(
+                ["pgrep", "-i", name], stdout=subprocess.PIPE, shell=False
+            )
+            response = processes.communicate()[0]
+            pids = [int(pid) for pid in response.split()]
+            if pids:
+                time.sleep(1)
+            else:
+                return True
+
     def tear_down(self):
         """
         Run after each test case.
         """
         self.tester.send_expect("killall ptp4l", "# ")
+        self.check_process_killed(name="ptp4l")
 
     def tear_down_all(self):
         """
-- 
2.17.1



More information about the dts mailing list