changeset 14338:862f8cd87546

run-tests: use the common test path on Windows and Java The alternate one did not run in the test directory and controlling the jobs execution with threads instead of process made it harder to fix.
author Patrick Mezard <pmezard@gmail.com>
date Mon, 16 May 2011 21:52:28 +0200
parents 439ed4721a6d
children ed0bf8e1cd28
files tests/run-tests.py
diffstat 1 files changed, 27 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/tests/run-tests.py	Mon May 16 21:41:46 2011 +0200
+++ b/tests/run-tests.py	Mon May 16 21:52:28 2011 +0200
@@ -642,45 +642,37 @@
         ret = proc.wait()
         return (ret, None)
 
-    if os.name == 'nt' or sys.platform.startswith('java'):
-        tochild, fromchild = os.popen4(cmd)
-        tochild.close()
-        output = fromchild.read()
-        ret = fromchild.close()
-        if ret is None:
-            ret = 0
-    else:
-        proc = Popen4(cmd, wd, options.timeout)
-        def cleanup():
-            try:
-                proc.terminate()
-            except OSError:
-                pass
-            ret = proc.wait()
-            if ret == 0:
-                ret = signal.SIGTERM << 8
-            killdaemons()
-            return ret
+    proc = Popen4(cmd, wd, options.timeout)
+    def cleanup():
+        try:
+            proc.terminate()
+        except OSError:
+            pass
+        ret = proc.wait()
+        if ret == 0:
+            ret = signal.SIGTERM << 8
+        killdaemons()
+        return ret
+
+    output = ''
+    proc.tochild.close()
 
-        output = ''
-        proc.tochild.close()
-
-        try:
-            output = proc.fromchild.read()
-        except KeyboardInterrupt:
-            vlog('# Handling keyboard interrupt')
-            cleanup()
-            raise
+    try:
+        output = proc.fromchild.read()
+    except KeyboardInterrupt:
+        vlog('# Handling keyboard interrupt')
+        cleanup()
+        raise
 
-        ret = proc.wait()
-        if wifexited(ret):
-            ret = os.WEXITSTATUS(ret)
+    ret = proc.wait()
+    if wifexited(ret):
+        ret = os.WEXITSTATUS(ret)
 
-        if proc.timeout:
-            ret = 'timeout'
+    if proc.timeout:
+        ret = 'timeout'
 
-        if ret:
-            killdaemons()
+    if ret:
+        killdaemons()
 
     for s, r in replacements:
         output = re.sub(s, r, output)