diff --git a/tools/packaging/test262.py b/tools/packaging/test262.py index 1192005fc9..26f3f8b526 100755 --- a/tools/packaging/test262.py +++ b/tools/packaging/test262.py @@ -583,6 +583,7 @@ class TestSuite(object): SkipCaseElement.append(SkipElement) TestSuiteElement.append(SkipCaseElement) + threads = [] if workers_count > 1: pool_sem = threading.Semaphore(workers_count) log_lock = threading.Lock() @@ -613,11 +614,13 @@ class TestSuite(object): exec_case() else: pool_sem.acquire() - threading.Thread(target=exec_case).start() + thread = threading.Thread(target=exec_case) + threads.append(thread) + thread.start() pool_sem.release() - if workers_count > 1: - log_lock.acquire() + for thread in threads: + thread.join() if print_summary: self.PrintSummary(progress, logname) @@ -628,9 +631,6 @@ class TestSuite(object): print "Use --full-summary to see output from failed tests" print - if workers_count > 1: - log_lock.release() - return progress.failed def WriteLog(self, result):