[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()