From bb0f817abf5994602d8ef5bd8568ab129a727a96 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Fri, 30 Sep 2022 09:31:47 +0200 Subject: [PATCH] test: wait until the unit finishes before checking the log Otherwise we might read an incomplete log and fail: ``` test_added_after (__main__.ExecutionResumeTest) ... FAIL test_added_before (__main__.ExecutionResumeTest) ... ok test_interleaved (__main__.ExecutionResumeTest) ... ok test_issue_6533 (__main__.ExecutionResumeTest) ... ok test_no_change (__main__.ExecutionResumeTest) ... ok test_removal (__main__.ExecutionResumeTest) ... ok test_swapped (__main__.ExecutionResumeTest) ... ok ====================================================================== FAIL: test_added_after (__main__.ExecutionResumeTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/build/./test/test-exec-deserialization.py", line 152, in test_added_after self.check_output(expected_output) File "/build/./test/test-exec-deserialization.py", line 107, in check_output self.assertEqual(output, expected_output) AssertionError: 'foo\n' != 'foo\nbar\n' foo + bar ---------------------------------------------------------------------- Ran 7 tests in 27.470s ``` --- test/test-exec-deserialization.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/test-exec-deserialization.py b/test/test-exec-deserialization.py index eea7ddc8b35..06a7d369f6e 100755 --- a/test/test-exec-deserialization.py +++ b/test/test-exec-deserialization.py @@ -101,6 +101,10 @@ class ExecutionResumeTest(unittest.TestCase): def check_output(self, expected_output): for _ in range(15): + # Wait until the unit finishes so we don't check an incomplete log + if subprocess.call(['systemctl', '-q', 'is-active', self.unit]) == 0: + continue + try: with open(self.output_file, 'r', encoding='utf-8') as log: output = log.read() -- 2.47.3