mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[lit] Remove unnecessary tracking of test_index
llvm-svn: 375263
This commit is contained in:
parent
e55060e8c3
commit
dbaacebca7
@ -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
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user