diff --git a/tools/packaging/test262.py b/tools/packaging/test262.py index 1192005fc9674c901933b312c3439e51efb21429..735d796cac7f760bedccea2ee88949714266003e 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() @@ -605,19 +606,22 @@ class TestSuite(object): if logname: self.WriteLog(result) finally: + progress.HasRun(result) + if workers_count > 1: log_lock.release() - progress.HasRun(result) if workers_count == 1: 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 +632,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):