xref: /openbsd-src/gnu/llvm/lldb/utils/lldb-dotest/lldb-dotest.in (revision f6aab3d83b51b91c24247ad2c2573574de475a82)
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