Import Cobalt 19.master.0.203780 Includes the following patches: https://cobalt-review.googlesource.com/c/cobalt/+/5210 by errong.leng@samsung.com https://cobalt-review.googlesource.com/c/cobalt/+/5270 by linus.wang@samsung.com
diff --git a/src/third_party/llvm-project/clang/test/Unit/lit.cfg.py b/src/third_party/llvm-project/clang/test/Unit/lit.cfg.py new file mode 100644 index 0000000..342b692 --- /dev/null +++ b/src/third_party/llvm-project/clang/test/Unit/lit.cfg.py
@@ -0,0 +1,57 @@ +# -*- Python -*- + +# Configuration file for the 'lit' test runner. + +import os +import platform +import subprocess + +import lit.formats +import lit.util + +# name: The name of this test suite. +config.name = 'Clang-Unit' + +# suffixes: A list of file extensions to treat as test files. +config.suffixes = [] + +# test_source_root: The root path where tests are located. +# test_exec_root: The root path where tests should be run. +config.test_exec_root = os.path.join(config.clang_obj_root, 'unittests') +config.test_source_root = config.test_exec_root + +# testFormat: The test format to use to interpret tests. +config.test_format = lit.formats.GoogleTest(config.llvm_build_mode, 'Tests') + +# Propagate the temp directory. Windows requires this because it uses \Windows\ +# if none of these are present. +if 'TMP' in os.environ: + config.environment['TMP'] = os.environ['TMP'] +if 'TEMP' in os.environ: + config.environment['TEMP'] = os.environ['TEMP'] + +# Propagate path to symbolizer for ASan/MSan. +for symbolizer in ['ASAN_SYMBOLIZER_PATH', 'MSAN_SYMBOLIZER_PATH']: + if symbolizer in os.environ: + config.environment[symbolizer] = os.environ[symbolizer] + +def find_shlibpath_var(): + if platform.system() in ['Linux', 'FreeBSD', 'NetBSD', 'SunOS']: + yield 'LD_LIBRARY_PATH' + elif platform.system() == 'Darwin': + yield 'DYLD_LIBRARY_PATH' + elif platform.system() == 'Windows': + yield 'PATH' + +for shlibpath_var in find_shlibpath_var(): + # in stand-alone builds, shlibdir is clang's build tree + # while llvm_libs_dir is installed LLVM (and possibly older clang) + shlibpath = os.path.pathsep.join( + (config.shlibdir, + config.llvm_libs_dir, + config.environment.get(shlibpath_var, ''))) + config.environment[shlibpath_var] = shlibpath + break +else: + lit_config.warning("unable to inject shared library path on '{}'" + .format(platform.system()))
diff --git a/src/third_party/llvm-project/clang/test/Unit/lit.site.cfg.py.in b/src/third_party/llvm-project/clang/test/Unit/lit.site.cfg.py.in new file mode 100644 index 0000000..715b4d9 --- /dev/null +++ b/src/third_party/llvm-project/clang/test/Unit/lit.site.cfg.py.in
@@ -0,0 +1,28 @@ +@LIT_SITE_CFG_IN_HEADER@ + +import sys + +config.llvm_src_root = "@LLVM_SOURCE_DIR@" +config.llvm_obj_root = "@LLVM_BINARY_DIR@" +config.llvm_tools_dir = "@LLVM_TOOLS_DIR@" +config.llvm_libs_dir = "@LLVM_LIBS_DIR@" +config.llvm_build_mode = "@LLVM_BUILD_MODE@" +config.clang_obj_root = "@CLANG_BINARY_DIR@" +config.enable_shared = @ENABLE_SHARED@ +config.shlibdir = "@SHLIBDIR@" +config.target_triple = "@TARGET_TRIPLE@" + +# Support substitution of the tools_dir, libs_dirs, and build_mode with user +# parameters. This is used when we can't determine the tool dir at +# configuration time. +try: + config.llvm_tools_dir = config.llvm_tools_dir % lit_config.params + config.llvm_libs_dir = config.llvm_libs_dir % lit_config.params + config.llvm_build_mode = config.llvm_build_mode % lit_config.params +except KeyError: + e = sys.exc_info()[1] + key, = e.args + lit_config.fatal("unable to find %r parameter, use '--param=%s=VALUE'" % (key,key)) + +# Let the main config do the real work. +lit_config.load_config(config, "@CLANG_SOURCE_DIR@/test/Unit/lit.cfg.py")