Dont' use close_fds = True on Windows.
authorZachary Turner <zturner@google.com>
Sat, 7 Feb 2015 00:14:55 +0000 (00:14 +0000)
committerZachary Turner <zturner@google.com>
Sat, 7 Feb 2015 00:14:55 +0000 (00:14 +0000)
If you do, the test runner will fail immediately with the error:

close_fds is not supported on Windows platforms if you redirect
stdin/stdout/stderr.

llvm-svn: 228472

lldb/test/dosep.py

index e397eab..dd43761 100755 (executable)
@@ -55,11 +55,18 @@ eTimedOut, ePassed, eFailed = 124, 0, 1
 
 def call_with_timeout(command, timeout):
     """Run command with a timeout if possible."""
-    if timeout_command and timeout != "0":
-        return subprocess.call([timeout_command, timeout] + command,
-                               stdin=subprocess.PIPE, close_fds=True)
-    return (ePassed if subprocess.call(command, stdin=subprocess.PIPE, close_fds=True) == 0
-            else eFailed)
+    if os.name != "nt":
+        if timeout_command and timeout != "0":
+            return subprocess.call([timeout_command, timeout] + command,
+                                   stdin=subprocess.PIPE, close_fds=True)
+        return (ePassed if subprocess.call(command, stdin=subprocess.PIPE, close_fds=True) == 0
+                else eFailed)
+    else:
+        if timeout_command and timeout != "0":
+            return subprocess.call([timeout_command, timeout] + command,
+                                   stdin=subprocess.PIPE)
+        return (ePassed if subprocess.call(command, stdin=subprocess.PIPE) == 0
+                else eFailed)
 
 def process_dir(root, files, test_root, dotest_options):
     """Examine a directory for tests, and invoke any found within it."""