summaryrefslogtreecommitdiff
path: root/unittests/lit.common.unit.cfg.py
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/lit.common.unit.cfg.py')
-rw-r--r--unittests/lit.common.unit.cfg.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/unittests/lit.common.unit.cfg.py b/unittests/lit.common.unit.cfg.py
new file mode 100644
index 000000000..fba034ae4
--- /dev/null
+++ b/unittests/lit.common.unit.cfg.py
@@ -0,0 +1,46 @@
+# -*- Python -*-
+
+# Configuration file for 'lit' test runner.
+# This file contains common config setup rules for unit tests in various
+# compiler-rt testsuites.
+
+import os
+
+import lit.formats
+
+# Setup test format
+llvm_build_mode = getattr(config, "llvm_build_mode", "Debug")
+config.test_format = lit.formats.GoogleTest(llvm_build_mode, "Test")
+
+# Setup test suffixes.
+config.suffixes = []
+
+# Tweak PATH to include llvm tools dir.
+llvm_tools_dir = config.llvm_tools_dir
+if (not llvm_tools_dir) or (not os.path.exists(llvm_tools_dir)):
+ lit_config.fatal("Invalid llvm_tools_dir config attribute: %r" % llvm_tools_dir)
+path = os.path.pathsep.join((llvm_tools_dir, config.environment['PATH']))
+config.environment['PATH'] = path
+
+# 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']
+
+if config.host_os == 'Darwin':
+ # Only run up to 3 processes that require shadow memory simultaneously on
+ # 64-bit Darwin. Using more scales badly and hogs the system due to
+ # inefficient handling of large mmap'd regions (terabytes) by the kernel.
+ lit_config.parallelism_groups["shadow-memory"] = 3
+
+ # The test config gets pickled and sent to multiprocessing workers, and that
+ # only works for code if it is stored at the top level of some module.
+ # Therefore, we have to put the code in a .py file, add it to path, and import
+ # it to store it in the config.
+ import site
+ site.addsitedir(os.path.dirname(__file__))
+ import lit_unittest_cfg_utils
+ config.darwin_sanitizer_parallelism_group_func = \
+ lit_unittest_cfg_utils.darwin_sanitizer_parallelism_group_func