34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
|
import lit.formats
|
||
|
import lit.util
|
||
|
|
||
|
config.name = "Clangd Unit Tests"
|
||
|
config.test_format = lit.formats.GoogleTest(".", "Tests")
|
||
|
config.test_source_root = config.clangd_binary_dir + "/unittests"
|
||
|
config.test_exec_root = config.clangd_binary_dir + "/unittests"
|
||
|
|
||
|
# Point the dynamic loader at dynamic libraries in 'lib'.
|
||
|
# FIXME: it seems every project has a copy of this logic. Move it somewhere.
|
||
|
import platform
|
||
|
|
||
|
# Clangd unittests uses ~4 threads per test. So make sure we don't over commit.
|
||
|
core_count = lit.util.usable_core_count()
|
||
|
# FIXME: Split unittests into groups that use threads, and groups that do not,
|
||
|
# and only limit multi-threaded tests.
|
||
|
lit_config.parallelism_groups["clangd"] = max(1, core_count // 4)
|
||
|
config.parallelism_group = "clangd"
|
||
|
|
||
|
if platform.system() == "Darwin":
|
||
|
shlibpath_var = "DYLD_LIBRARY_PATH"
|
||
|
elif platform.system() == "Windows":
|
||
|
shlibpath_var = "PATH"
|
||
|
else:
|
||
|
shlibpath_var = "LD_LIBRARY_PATH"
|
||
|
config.environment[shlibpath_var] = os.path.pathsep.join(
|
||
|
("@SHLIBDIR@", "@LLVM_LIBS_DIR@", config.environment.get(shlibpath_var, ""))
|
||
|
)
|
||
|
|
||
|
# It is not realistically possible to account for all options that could
|
||
|
# possibly be present in system and user configuration files, so disable
|
||
|
# default configs for the test runs.
|
||
|
config.environment["CLANG_NO_DEFAULT_CONFIG"] = "1"
|