[lit] Remove unnecessary tracking of test_index
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375263 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/lit/lit/run.py b/utils/lit/lit/run.py
index c178128..29335bd 100644
--- a/utils/lit/lit/run.py
+++ b/utils/lit/lit/run.py
@@ -65,7 +65,7 @@
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 @@
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 @@
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 @@
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/utils/lit/lit/worker.py b/utils/lit/lit/worker.py
index 283d129..5527d97 100644
--- a/utils/lit/lit/worker.py
+++ b/utils/lit/lit/worker.py
@@ -16,7 +16,7 @@
_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 @@
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()