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

Message ID 20220728192835.17234-1-songx.jiale@intel.com (mailing list archive)
State Accepted
Headers
Series [V1] tests/ptpclient: add the method of checking process status |

Checks

Context Check Description
ci/Intel-dts-format-test success Testing OK
ci/Intel-dts-pylama-test success Testing OK
ci/Intel-dts-suite-test success Testing OK

Commit Message

Jiale, SongX July 28, 2022, 7:28 p.m. UTC
  add method to check process status, ensure that the process is killed.

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

Comments

Tu, Lijuan Aug. 24, 2022, 10:26 a.m. UTC | #1
On Thu, 28 Jul 2022 19:28:35 +0000, Jiale Song <songx.jiale@intel.com> wrote:
> add method to check process status, ensure that the process is killed.
> 
> Signed-off-by: Jiale Song <songx.jiale@intel.com>

Acked-by: Lijuan Tu <lijuan.tu@intel.com>
Applied, thanks
  

Patch

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):
         """