diff options
-rw-r--r-- | lldb/test/CMakeLists.txt | 3 | ||||
-rwxr-xr-x | lldb/test/lldb-dotest.in | 22 |
2 files changed, 11 insertions, 14 deletions
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 862bd4d7629..2bf7ff0d9b8 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -136,8 +136,7 @@ add_python_test_target(check-lldb ) # Generate a wrapper for dotest.py in the bin directory. -string (REPLACE ";" " " LLDB_DOTEST_ARGS_STR "${LLDB_DOTEST_ARGS}") -# We need this to substitute variables. +# We need configure_file to substitute variables. configure_file( lldb-dotest.in ${CMAKE_CURRENT_BINARY_DIR}/lldb-dotest.configured diff --git a/lldb/test/lldb-dotest.in b/lldb/test/lldb-dotest.in index 08ae092d523..7e89e6226a4 100755 --- a/lldb/test/lldb-dotest.in +++ b/lldb/test/lldb-dotest.in @@ -1,18 +1,16 @@ #!/usr/bin/env python +import subprocess import sys -import os dotest_path = '@LLDB_SOURCE_DIR@/test/dotest.py' -dotest_args = '@LLDB_DOTEST_ARGS_STR@' +dotest_args_str = '@LLDB_DOTEST_ARGS@' if __name__ == '__main__': - # Wrap arguments in single quotes. This is necessary because we want to - # forward the arguments and otherwise we might split up arguments that were - # originally wrapped in single quotes. - wrapper_args = list("'" + i + "'" for i in sys.argv[1:]) - # FIXME: It would be nice if we can mimic the approach taken by llvm-lit - # and pass a python configuration straight to dotest, rather than going - # through the operating system. - command = '{} -q {} {}'.format(dotest_path, dotest_args, - ' '.join(wrapper_args)) - os.system(command) + wrapper_args = sys.argv[1:] + dotest_args = dotest_args_str.split(';') + # Build dotest.py command. + cmd = [dotest_path, '-q'] + cmd.extend(dotest_args) + cmd.extend(wrapper_args) + # Invoke dotest.py + subprocess.call(cmd) |