From 442a30bdcd70e796d7c538d092494ec6b08db909 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Thu, 2 Nov 2023 11:45:27 -0400 Subject: [PATCH] test: get Windows test working again (#571) Apparently `py` is no longer a valid name for the python interpreter on GitHub Actions. --- ...st_testbench_continue_after_fault_injection.py | 12 +++++++++--- tests/test_testbench_startup.py | 15 ++++++++++----- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/tests/test_testbench_continue_after_fault_injection.py b/tests/test_testbench_continue_after_fault_injection.py index 1aebd75c..6d59e4ba 100644 --- a/tests/test_testbench_continue_after_fault_injection.py +++ b/tests/test_testbench_continue_after_fault_injection.py @@ -36,23 +36,29 @@ def setUp(self): if platform.system().lower() == "windows": server_start_message = "INFO:waitress:Serving on http://" server_regex_pattern = "INFO:waitress:Serving on.*:([0-9]+)" - python_command = "py" + python_command = "python" self.testbench_server = subprocess.Popen( [python_command, "testbench_run.py", "localhost", "0", "10"], stderr=subprocess.PIPE, universal_newlines=True, ) + captured = [] self.port = None start = time.time() # Wait for the message declaring this process is running - while self.port is None and time.time() - start < 120: + while self.port is None and time.time() - start < 20: line = self.testbench_server.stderr.readline() if server_start_message in line: m = re.compile(server_regex_pattern).search(line) if m is not None: self.port = m[1] - self.assertIsNotNone(self.port) + self.assertIsNotNone( + self.port, + msg="Did not find startup message {} in log:\n{}".format( + server_start_message, "\n".join(captured) + ), + ) def tearDown(self): self.testbench_server.stderr.close() diff --git a/tests/test_testbench_startup.py b/tests/test_testbench_startup.py index b6a03853..ce9dcb59 100644 --- a/tests/test_testbench_startup.py +++ b/tests/test_testbench_startup.py @@ -32,7 +32,7 @@ class TestTestbenchStartup(unittest.TestCase): def python_command(self): if platform.system().lower() == "windows": - return "py" + return "python" return "python3" def setUp(self): @@ -64,7 +64,6 @@ def tearDown(self): p.wait(30) def wait_testbench_server(self): - started = False port = None start = time.time() @@ -77,14 +76,20 @@ def wait_testbench_server(self): server_regex_pattern = "INFO:waitress:Serving on.*:([0-9]+)" # Wait for the message declaring this process is running - while not started and time.time() - start < 120: + captured = [] + while port is None and time.time() - start < 120: line = self.testbench_server.stderr.readline() + captured.append(line) if server_start_message in line: m = re.compile(server_regex_pattern).search(line) if m is not None: - started = True port = m[1] - self.assertTrue(started) + self.assertIsNotNone( + port, + msg="Did not find startup message {} in log:\n{}".format( + server_start_message, "\n".join(captured) + ), + ) return port def test_startup_server(self):