changeset 17936:95fc4ab324df

run-tests: backout 4a4173519b63 This deleted work in progress to eliminate child processes for -j.
author Matt Mackall <mpm@selenic.com>
date Wed, 14 Nov 2012 18:08:39 -0600
parents 9c888b945b65
children 3cb032d50447
files tests/run-tests.py
diffstat 1 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/tests/run-tests.py	Thu Nov 15 10:55:32 2012 -0800
+++ b/tests/run-tests.py	Wed Nov 14 18:08:39 2012 -0600
@@ -768,13 +768,18 @@
     True -> passed
     False -> failed'''
 
-    global results, iolock
+    global results, resultslock, iolock
 
     testpath = os.path.join(TESTDIR, test)
 
+    def result(l, e):
+        resultslock.acquire()
+        results[l].append(e)
+        resultslock.release()
+
     def skip(msg):
         if not options.verbose:
-            results['s'].append((test, msg))
+            result('s', (test, msg))
         else:
             iolock.acquire()
             print "\nSkipping %s: %s" % (testpath, msg)
@@ -797,15 +802,15 @@
                     rename(testpath + ".err", testpath)
                 else:
                     rename(testpath + ".err", testpath + ".out")
-                success(test)
+                result('p', test)
                 return
-        results['f'].append((test, msg))
+        result('f', (test, msg))
 
     def success():
-        results['p'].append(test)
+        result('p', test)
 
     def ignore(msg):
-        results['i'].append((test, msg))
+        result('i', (test, msg))
 
     if (os.path.basename(test).startswith("test-") and '~' not in test and
         ('.' not in test or test.endswith('.py') or
@@ -1118,6 +1123,7 @@
     sys.exit(failures != 0)
 
 results = dict(p=[], f=[], s=[], i=[])
+resultslock = threading.Lock()
 times = []
 iolock = threading.Lock()