tests: do not skip solo-run tests if running within a single job and all remaining... 58/30858/3
authorAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 20 Jan 2021 14:53:55 +0000 (14:53 +0000)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Wed, 20 Jan 2021 20:28:48 +0000 (20:28 +0000)
There was a logic error, which results in not running solo tests
if TEST_JOBS=1, and we have finished running the regular test
and the remaining tests are all solo-run. They all get put into
that pile, but the new runners never start.

Solution: check the pile of solo-run jobs unconditionally.

Thanks to Klement Sekera for spotting the issue.

Type: fix
Change-Id: Iaecacbe4de44050cd8d0ff2d524559df99f2bae4
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
test/run_tests.py

index 66118ca..d5bdfc8 100644 (file)
@@ -485,14 +485,13 @@ def run_forked(testcase_suites):
                         wrapped_testcase_suites.add(new_testcase)
                         total_test_runners = total_test_runners + 1
                         unread_testcases.add(new_testcase)
-                else:
-                    if solo_testcase_suites and total_test_runners == 0:
-                        a_testcase = solo_testcase_suites.pop(0)
-                        new_testcase = TestCaseWrapper(a_testcase,
-                                                       manager)
-                        wrapped_testcase_suites.add(new_testcase)
-                        total_test_runners = total_test_runners + 1
-                        unread_testcases.add(new_testcase)
+                if solo_testcase_suites and total_test_runners == 0:
+                    a_testcase = solo_testcase_suites.pop(0)
+                    new_testcase = TestCaseWrapper(a_testcase,
+                                                   manager)
+                    wrapped_testcase_suites.add(new_testcase)
+                    total_test_runners = total_test_runners + 1
+                    unread_testcases.add(new_testcase)
             time.sleep(0.1)
     except Exception:
         for wrapped_testcase_suite in wrapped_testcase_suites: