[Lldb-commits] [PATCH] D44728: [dotest] Use subprocess.call to forward arguments in wrapper

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Mar 21 03:23:50 PDT 2018


JDevlieghere updated this revision to Diff 139270.
JDevlieghere added a comment.

Re-add accidentally removed comment.


https://reviews.llvm.org/D44728

Files:
  test/CMakeLists.txt
  test/lldb-dotest.in


Index: test/lldb-dotest.in
===================================================================
--- test/lldb-dotest.in
+++ 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_STR@'
 
 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(';')[:-1]
+    # Build dotest.py command.
+    cmd = [dotest_path, '-q']
+    cmd.extend(dotest_args)
+    cmd.extend(wrapper_args)
+    # Invoke dotest.py
+    subprocess.call(cmd)
Index: test/CMakeLists.txt
===================================================================
--- test/CMakeLists.txt
+++ test/CMakeLists.txt
@@ -136,8 +136,7 @@
   )
 
 # 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44728.139270.patch
Type: text/x-patch
Size: 1729 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180321/c24e2318/attachment.bin>


More information about the lldb-commits mailing list