Add LIT_USE_INTERNAL_SHELL to compiler-rt tests.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 30 Mar 2017 13:33:22 +0000 (13:33 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 30 Mar 2017 13:33:22 +0000 (13:33 +0000)
I am working on improving our internal bot infrastructure. One thing
that is unique to the ps4 is that we want to run the posix tests, but
have to execute them on windows.

We currently have a local hack to use a shell on windows, but it is
pretty much impossible to get all all the tools to play nice with all
the heuristics for what is a path and what is a command line option.

This adds support LIT_USE_INTERNAL_SHELL and I will then try to fix
the tests that fail with it but adding the missing features.

llvm-svn: 299077

compiler-rt/test/lit.common.cfg

index 648c7fa..d59d7d6 100644 (file)
@@ -11,8 +11,19 @@ import subprocess
 import lit.formats
 import lit.util
 
-# Setup test format. Use bash on Unix and the lit shell on Windows.
-execute_external = (not sys.platform in ['win32'])
+
+# Choose between lit's internal shell pipeline runner and a real shell.  If
+# LIT_USE_INTERNAL_SHELL is in the environment, we use that as an override.
+use_lit_shell = os.environ.get("LIT_USE_INTERNAL_SHELL")
+if use_lit_shell:
+    # 0 is external, "" is default, and everything else is internal.
+    execute_external = (use_lit_shell == "0")
+else:
+    # Otherwise we default to internal on Windows and external elsewhere, as
+    # bash on Windows is usually very slow.
+    execute_external = (not sys.platform in ['win32'])
+
+# Setup test format.
 config.test_format = lit.formats.ShTest(execute_external)
 if execute_external:
   config.available_features.add('shell')