mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 03:25:54 -04:00

These lit configuration files are really Python source code. Using the .py file extension helps editors and tools use the correct language mode. LLVM and Clang already use this convention for lit configuration, this change simply applies it to all of compiler-rt. Reviewers: vitalybuka, dberris Differential Revision: https://reviews.llvm.org/D63658 llvm-svn: 364591
47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
# -*- 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
|