tests: do not skip solo-run tests if running within a single job and all remaining tests are solo-run

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>
This commit is contained in:
Andrew Yourtchenko
2021-01-20 14:53:55 +00:00
parent 4f411d1191
commit 4d084079cd

View File

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