# -*- Python -*- import platform import lit.formats config.name = "Extra Tools Unit Tests" config.suffixes = [] # Seems not to matter for google tests? # Test Source and Exec root dirs both point to the same directory where google # test binaries are built. extra_tools_obj_dir = getattr(config, 'extra_tools_obj_dir', None) if extra_tools_obj_dir is not None: config.test_source_root = extra_tools_obj_dir config.test_exec_root = config.test_source_root # All GoogleTests are named to have 'Tests' as their suffix. The '.' option is # a special value for GoogleTest indicating that it should look through the # entire testsuite recursively for tests (alternatively, one could provide a # ;-separated list of subdirectories). config.test_format = lit.formats.GoogleTest('.', 'Tests') # If the site-specific configuration wasn't loaded (e.g. the build system failed # to create it or the user is running a test file directly) try to come up with # sane config options. if config.test_exec_root is None: # Look for a --param=extra_tools_unit_site_config option. site_cfg = lit_config.params.get('extra_tools_unit_site_config', None) if site_cfg and os.path.exists(site_cfg): lit_config.load_config(config, site_cfg) raise SystemExit # FIXME: Support out-of-tree builds? See clang/test/Unit/lit.cfg if we care. shlibpath_var = '' if platform.system() == 'Linux': shlibpath_var = 'LD_LIBRARY_PATH' elif platform.system() == 'Darwin': shlibpath_var = 'DYLD_LIBRARY_PATH' elif platform.system() == 'Windows': shlibpath_var = 'PATH' # Point the dynamic loader at dynamic libraries in 'lib'. llvm_libs_dir = getattr(config, 'llvm_libs_dir', None) if not llvm_libs_dir: lit_config.fatal('No LLVM libs dir set!') shlibpath = os.path.pathsep.join((llvm_libs_dir, config.environment.get(shlibpath_var,''))) # Win32 seeks DLLs along %PATH%. if sys.platform in ['win32', 'cygwin'] and os.path.isdir(config.shlibdir): shlibpath = os.path.pathsep.join((config.shlibdir, shlibpath)) config.environment[shlibpath_var] = shlibpath