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)
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: