diff options
author | Julian Lettner <jlettner@apple.com> | 2019-10-18 17:31:48 +0000 |
---|---|---|
committer | Julian Lettner <jlettner@apple.com> | 2019-10-18 17:31:48 +0000 |
commit | 0381867f8454548c5242830b98a0e4913a05084a (patch) | |
tree | c48a9258d30544f478174d8916ba8157e905088a | |
parent | 17bb660fb83e869652ac87b145b0e26b708aab60 (diff) | |
download | bcm5719-llvm-0381867f8454548c5242830b98a0e4913a05084a.tar.gz bcm5719-llvm-0381867f8454548c5242830b98a0e4913a05084a.zip |
[lit] Remove unnecessary tracking of test_index
llvm-svn: 375263
-rw-r--r-- | llvm/utils/lit/lit/run.py | 14 | ||||
-rw-r--r-- | llvm/utils/lit/lit/worker.py | 14 |
2 files changed, 11 insertions, 17 deletions
diff --git a/llvm/utils/lit/lit/run.py b/llvm/utils/lit/lit/run.py index c178128c93b..29335bd59ad 100644 --- a/llvm/utils/lit/lit/run.py +++ b/llvm/utils/lit/lit/run.py @@ -65,7 +65,7 @@ class Run(object): return end - start - def _consume_test_result(self, pool_result): + def _consume_test_result(self, test, result): """Test completion callback for lit.worker.run_one_test Updates the test result status in the parent process. Each task in the @@ -79,8 +79,6 @@ class Run(object): if self.hit_max_failures: return - (test_index, result) = pool_result - test = self.tests[test_index] # Update the parent process copy of the test. This includes the result, # XFAILS, REQUIRES, and UNSUPPORTED statuses. test.setResult(result) @@ -100,9 +98,9 @@ class SerialRun(Run): def _execute(self, deadline): # TODO(yln): ignores deadline - for test_index, test in enumerate(self.tests): + for test in self.tests: result = lit.worker._execute_test(test, self.lit_config) - self._consume_test_result((test_index, result)) + self._consume_test_result(test, result) if self.hit_max_failures: break @@ -137,9 +135,9 @@ class ParallelRun(Run): try: async_results = [pool.apply_async(lit.worker.run_one_test, - args=(test_index, test), - callback=self._consume_test_result) - for test_index, test in enumerate(self.tests)] + args=(test,), + callback=lambda r,t=test: self._consume_test_result(t, r)) + for test in self.tests] pool.close() # Wait for all results to come in. The callback that runs in the diff --git a/llvm/utils/lit/lit/worker.py b/llvm/utils/lit/lit/worker.py index 283d129bd22..5527d97f2d8 100644 --- a/llvm/utils/lit/lit/worker.py +++ b/llvm/utils/lit/lit/worker.py @@ -16,7 +16,7 @@ def initializer(lit_config, parallelism_semaphores): _lit_config = lit_config _parallelism_semaphores = parallelism_semaphores -def run_one_test(test_index, test): +def run_one_test(test): """Run one test in a multiprocessing.Pool Side effects in this function and functions it calls are not visible in the @@ -24,16 +24,12 @@ def run_one_test(test_index, test): Arguments and results of this function are pickled, so they should be cheap to copy. For efficiency, we copy all data needed to execute all tests into - each worker and store it in the worker_* global variables. This reduces the - cost of each task. - - Returns an index and a Result, which the parent process uses to update - the display. + each worker and store it in global variables. This reduces the cost of each + task. """ try: - result = _execute_test_in_parallelism_group(test, _lit_config, - _parallelism_semaphores) - return (test_index, result) + return _execute_test_in_parallelism_group(test, _lit_config, + _parallelism_semaphores) except KeyboardInterrupt: # If a worker process gets an interrupt, abort it immediately. lit.util.abort_now() |