@@ -532,8 +532,11 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage=
532
532
533
533
max_len_name = len (max (test_list , key = len ))
534
534
test_count = len (test_list )
535
+ all_passed = True
535
536
i = 0
536
537
while i < test_count :
538
+ if failfast and not all_passed :
539
+ break
537
540
for test_result , testdir , stdout , stderr in job_queue .get_next ():
538
541
test_results .append (test_result )
539
542
i += 1
@@ -543,6 +546,7 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage=
543
546
elif test_result .status == "Skipped" :
544
547
logging .debug ("%s skipped" % (done_str ))
545
548
else :
549
+ all_passed = False
546
550
print ("%s failed, Duration: %s s\n " % (done_str , test_result .time ))
547
551
print (BOLD [1 ] + 'stdout:\n ' + BOLD [0 ] + stdout + '\n ' )
548
552
print (BOLD [1 ] + 'stderr:\n ' + BOLD [0 ] + stderr + '\n ' )
@@ -576,7 +580,7 @@ def run_tests(*, test_list, src_dir, build_dir, tmpdir, jobs=1, enable_coverage=
576
580
if not os .listdir (tmpdir ):
577
581
os .rmdir (tmpdir )
578
582
579
- all_passed = all ( map ( lambda test_result : test_result . was_successful , test_results )) and coverage_passed
583
+ all_passed = all_passed and coverage_passed
580
584
581
585
# Clean up dangling processes if any. This may only happen with --failfast option.
582
586
# Killing the process group will also terminate the current process but that is
0 commit comments