| # -*- 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' |
| elif platform.system() == 'AIX': |
| yield 'LIBPATH' |
| |
| 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())) |