| import os |
| import glob |
| |
| import lit.util |
| |
| # python 2.7 backwards compatibility |
| try: |
| from shlex import quote as shell_quote |
| except ImportError: |
| from pipes import quote as shell_quote |
| |
| |
| if config.standalone_build: |
| # These tests require the update_cc_test_checks.py script from the llvm |
| # source tree, so skip these tests if we are doing standalone builds. |
| # These tests are only relevant to developers working with the |
| # update_cc_test_checks.py tool; they don't provide any coverage |
| # for any of the clang source code. |
| config.unsupported = True |
| else: |
| |
| config.test_format = lit.formats.ShTest(execute_external=False) |
| config.suffixes = [".test"] |
| |
| clang_path = os.path.join(config.clang_tools_dir, "clang") |
| extra_args = "--clang " + shell_quote(clang_path) |
| opt_path = os.path.join(config.llvm_tools_dir, "opt") |
| extra_args += " --opt " + shell_quote(opt_path) |
| # Specify an explicit default version in UTC tests, so that the --version |
| # embedded in UTC_ARGS does not change in all test expectations every time |
| # the default is bumped. |
| extra_args += " --version=1" |
| script_path = os.path.join( |
| config.llvm_src_root, "utils", "update_cc_test_checks.py" |
| ) |
| assert os.path.isfile(script_path) |
| # Windows: llvm-lit.py, Linux: llvm-lit |
| if config.llvm_external_lit: |
| lit = config.llvm_external_lit |
| else: |
| lit = shell_quote( |
| glob.glob(os.path.join(config.llvm_tools_dir, "llvm-lit*"))[0] |
| ) |
| python = shell_quote(config.python_executable) |
| config.substitutions.append( |
| ( |
| "%update_cc_test_checks", |
| "%s %s %s" % (python, shell_quote(script_path), extra_args), |
| ) |
| ) |
| config.substitutions.append( |
| ("%clang_tools_dir", shell_quote(config.clang_tools_dir)) |
| ) |
| config.substitutions.append( |
| ( |
| "%lit", |
| "%s %s -Dclang_lit_site_cfg=%s -j1 -vv" |
| % (python, lit, shell_quote(config.clang_lit_site_cfg)), |
| ) |
| ) |