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)), ) )