xref: /llvm-project/clang/test/utils/update_cc_test_checks/lit.local.cfg (revision dd3c26a045c081620375a878159f536758baba6e)
1import os
2import glob
3
4import lit.util
5
6# python 2.7 backwards compatibility
7try:
8    from shlex import quote as shell_quote
9except ImportError:
10    from pipes import quote as shell_quote
11
12
13if config.standalone_build:
14    # These tests require the update_cc_test_checks.py script from the llvm
15    # source tree, so skip these tests if we are doing standalone builds.
16    # These tests are only relevant to developers working with the
17    # update_cc_test_checks.py tool; they don't provide any coverage
18    # for any of the clang source code.
19    config.unsupported = True
20else:
21
22    config.test_format = lit.formats.ShTest(execute_external=False)
23    config.suffixes = [".test"]
24
25    clang_path = os.path.join(config.clang_tools_dir, "clang")
26    extra_args = "--clang " + shell_quote(clang_path)
27    opt_path = os.path.join(config.llvm_tools_dir, "opt")
28    extra_args += " --opt " + shell_quote(opt_path)
29    # Specify an explicit default version in UTC tests, so that the --version
30    # embedded in UTC_ARGS does not change in all test expectations every time
31    # the default is bumped.
32    extra_args += " --version=1"
33    script_path = os.path.join(
34        config.llvm_src_root, "utils", "update_cc_test_checks.py"
35    )
36    assert os.path.isfile(script_path)
37    # Windows: llvm-lit.py, Linux: llvm-lit
38    if config.llvm_external_lit:
39        lit = config.llvm_external_lit
40    else:
41        lit = shell_quote(
42            glob.glob(os.path.join(config.llvm_tools_dir, "llvm-lit*"))[0]
43        )
44    python = shell_quote(config.python_executable)
45    config.substitutions.append(
46        (
47            "%update_cc_test_checks",
48            "%s %s %s" % (python, shell_quote(script_path), extra_args),
49        )
50    )
51    config.substitutions.append(
52        ("%clang_tools_dir", shell_quote(config.clang_tools_dir))
53    )
54    config.substitutions.append(
55        (
56            "%lit",
57            "%s %s -Dclang_lit_site_cfg=%s -j1 -vv"
58            % (python, lit, shell_quote(config.clang_lit_site_cfg)),
59        )
60    )
61