# -*- 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()))