1be691f3bSpatrick#!@Python3_EXECUTABLE@ 2061da546Spatrickimport subprocess 3061da546Spatrickimport sys 4061da546Spatrick 5dda28197Spatrickdotest_path = '@LLDB_SOURCE_DIR_CONFIGURED@/test/API/dotest.py' 6dda28197Spatrickdotest_args_str = '@LLDB_DOTEST_ARGS_CONFIGURED@' 7061da546Spatrickarch = '@LLDB_TEST_ARCH@' 8dda28197Spatrickexecutable = '@LLDB_TEST_EXECUTABLE_CONFIGURED@' 9dda28197Spatrickcompiler = '@LLDB_TEST_COMPILER_CONFIGURED@' 10dda28197Spatrickdsymutil = '@LLDB_TEST_DSYMUTIL_CONFIGURED@' 11be691f3bSpatricklldb_build_dir = '@LLDB_TEST_BUILD_DIRECTORY_CONFIGURED@' 12dda28197Spatricklldb_build_intel_pt = "@LLDB_BUILD_INTEL_PT@" 13be691f3bSpatricklldb_framework_dir = "@LLDB_FRAMEWORK_DIR_CONFIGURED@" 14be691f3bSpatricklldb_libs_dir = "@LLDB_LIBS_DIR_CONFIGURED@" 15be691f3bSpatrickllvm_tools_dir = "@LLVM_TOOLS_DIR_CONFIGURED@" 16*f6aab3d8Sroberthas_libcxx = @LLDB_HAS_LIBCXX@ 17*f6aab3d8Srobertlibcxx_libs_dir = "@LIBCXX_LIBRARY_DIR@" 18*f6aab3d8Srobertlibcxx_include_dir = "@LIBCXX_GENERATED_INCLUDE_DIR@" 19*f6aab3d8Srobertlibcxx_include_target_dir = "@LIBCXX_GENERATED_INCLUDE_TARGET_DIR@" 20061da546Spatrick 21061da546Spatrickif __name__ == '__main__': 22061da546Spatrick wrapper_args = sys.argv[1:] 23*f6aab3d8Srobert dotest_args = [] 24*f6aab3d8Srobert # split on an empty string will produce [''] and if you 25*f6aab3d8Srobert # add that to the command, it will be treated as a directory... 26*f6aab3d8Srobert if len(dotest_args_str) > 0: 27061da546Spatrick dotest_args = dotest_args_str.split(';') 28061da546Spatrick # Build dotest.py command. 29061da546Spatrick cmd = [sys.executable, dotest_path] 30061da546Spatrick cmd.extend(['--arch', arch]) 31061da546Spatrick cmd.extend(dotest_args) 32be691f3bSpatrick cmd.extend(['--build-dir', lldb_build_dir]) 33061da546Spatrick cmd.extend(['--executable', executable]) 34061da546Spatrick cmd.extend(['--compiler', compiler]) 35061da546Spatrick cmd.extend(['--dsymutil', dsymutil]) 36dda28197Spatrick cmd.extend(['--lldb-libs-dir', lldb_libs_dir]) 37be691f3bSpatrick cmd.extend(['--llvm-tools-dir', llvm_tools_dir]) 38*f6aab3d8Srobert if has_libcxx: 39*f6aab3d8Srobert cmd.extend(['--libcxx-include-dir', libcxx_include_dir]) 40*f6aab3d8Srobert if libcxx_include_target_dir: 41*f6aab3d8Srobert cmd.extend(['--libcxx-include-target-dir', libcxx_include_target_dir]) 42*f6aab3d8Srobert cmd.extend(['--libcxx-library-dir', libcxx_libs_dir]) 43be691f3bSpatrick if lldb_framework_dir: 44be691f3bSpatrick cmd.extend(['--framework', lldb_framework_dir]) 45dda28197Spatrick if lldb_build_intel_pt == "1": 46dda28197Spatrick cmd.extend(['--enable-plugin', 'intel-pt']) 47061da546Spatrick cmd.extend(wrapper_args) 48061da546Spatrick # Invoke dotest.py and return exit code. 49061da546Spatrick print(' '.join(cmd)) 50061da546Spatrick sys.exit(subprocess.call(cmd)) 51