Add LIT_USE_INTERNAL_SHELL to compiler-rt tests.

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
This commit is contained in:
Rafael Espindola 2017-03-30 13:33:22 +00:00
parent be927f586d
commit 41ca83f811
1 changed files with 13 additions and 2 deletions

View 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')