From 61d8ba2b7b60c3181258508954bd83c99aff1397 Mon Sep 17 00:00:00 2001 From: Paul Cristian Sarbu Date: Thu, 25 Apr 2024 13:06:39 +0200 Subject: test remote runners: Add timeout for running execute and serve The runners used in tests that rely on execution or serve endpoints to exist can get stuck waiting for these to become online if for some reason they cannot be set up. This commit fixes this issue by setting a reasonable timeout, after which we fail gracefully. --- test/end-to-end/with_remote_test_runner.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'test/end-to-end/with_remote_test_runner.py') diff --git a/test/end-to-end/with_remote_test_runner.py b/test/end-to-end/with_remote_test_runner.py index 31601272..079f627b 100755 --- a/test/end-to-end/with_remote_test_runner.py +++ b/test/end-to-end/with_remote_test_runner.py @@ -74,7 +74,7 @@ if not custom_remote: print(f"Warning: removing unexpected info file {REMOTE_INFO}") os.remove(REMOTE_INFO) - PATH=subprocess.run( + PATH = subprocess.run( ["env", "--", "sh", "-c", "echo -n $PATH"], stdout=subprocess.PIPE, ).stdout.decode('utf-8') @@ -104,7 +104,15 @@ if not custom_remote: stderr=remotestderr, ) + timeout: int = 30 while not os.path.exists(REMOTE_INFO): + if timeout == 0: + result = "FAIL" + stdout = "Failed to start execution service" + remote_proc.terminate() + dump_results() + exit(1) + timeout -= 1 time.sleep(1) with open(REMOTE_INFO) as f: -- cgit v1.2.3