summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Lettner <jlettner@apple.com>2019-10-18 17:31:48 +0000
committerJulian Lettner <jlettner@apple.com>2019-10-18 17:31:48 +0000
commit0381867f8454548c5242830b98a0e4913a05084a (patch)
treec48a9258d30544f478174d8916ba8157e905088a
parent17bb660fb83e869652ac87b145b0e26b708aab60 (diff)
downloadbcm5719-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.py14
-rw-r--r--llvm/utils/lit/lit/worker.py14
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()
OpenPOWER on IntegriCloud