diff options
| -rw-r--r-- | compiler-rt/test/asan/Unit/lit.site.cfg.in | 3 | ||||
| -rw-r--r-- | compiler-rt/test/asan/lit.cfg | 3 | ||||
| -rw-r--r-- | compiler-rt/test/lit.common.cfg | 6 | ||||
| -rw-r--r-- | compiler-rt/test/tsan/Unit/lit.site.cfg.in | 3 | ||||
| -rw-r--r-- | compiler-rt/test/tsan/lit.cfg | 3 | ||||
| -rw-r--r-- | compiler-rt/unittests/lit.common.unit.cfg | 10 |
6 files changed, 28 insertions, 0 deletions
diff --git a/compiler-rt/test/asan/Unit/lit.site.cfg.in b/compiler-rt/test/asan/Unit/lit.site.cfg.in index 55631a6d927..1c59a6bad23 100644 --- a/compiler-rt/test/asan/Unit/lit.site.cfg.in +++ b/compiler-rt/test/asan/Unit/lit.site.cfg.in @@ -27,3 +27,6 @@ config.test_source_root = config.test_exec_root # Set LD_LIBRARY_PATH to pick dynamic runtime up properly. push_ld_library_path(config, config.compiler_rt_libdir) + +if config.host_os == 'Darwin': + config.parallelism_group = config.darwin_sanitizer_parallelism_group_func diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg index 7703f5a31b0..5ebe414d427 100644 --- a/compiler-rt/test/asan/lit.cfg +++ b/compiler-rt/test/asan/lit.cfg @@ -241,3 +241,6 @@ else: # Only run the tests on supported OSs. if config.host_os not in ['Linux', 'Darwin', 'FreeBSD', 'Windows']: config.unsupported = True + +if config.host_os == 'Darwin' and config.target_arch in ["x86_64", "x86_64h"]: + config.parallelism_group = "darwin-64bit-sanitizer" diff --git a/compiler-rt/test/lit.common.cfg b/compiler-rt/test/lit.common.cfg index b8759923488..f0d7c0bff0c 100644 --- a/compiler-rt/test/lit.common.cfg +++ b/compiler-rt/test/lit.common.cfg @@ -216,3 +216,9 @@ llvm_config_cmd.wait() # retries. We don't do this on otther platforms because it's slower. if platform.system() == 'Windows': config.test_retry_attempts = 2 + +# Only run up to 3 64-bit sanitized processes simultaneously on Darwin. +# Using more scales badly and hogs the system due to inefficient handling +# of large mmap'd regions (terabytes) by the kernel. +if platform.system() == 'Darwin': + lit_config.parallelism_groups["darwin-64bit-sanitizer"] = 3 diff --git a/compiler-rt/test/tsan/Unit/lit.site.cfg.in b/compiler-rt/test/tsan/Unit/lit.site.cfg.in index 23894a83985..a091ffe53ff 100644 --- a/compiler-rt/test/tsan/Unit/lit.site.cfg.in +++ b/compiler-rt/test/tsan/Unit/lit.site.cfg.in @@ -11,3 +11,6 @@ config.name = 'ThreadSanitizer-Unit' # FIXME: De-hardcode this path. config.test_exec_root = "@COMPILER_RT_BINARY_DIR@/lib/tsan/tests" config.test_source_root = config.test_exec_root + +if config.host_os == 'Darwin': + config.parallelism_group = config.darwin_sanitizer_parallelism_group_func diff --git a/compiler-rt/test/tsan/lit.cfg b/compiler-rt/test/tsan/lit.cfg index 5d82cc9d492..f9ae539ba10 100644 --- a/compiler-rt/test/tsan/lit.cfg +++ b/compiler-rt/test/tsan/lit.cfg @@ -83,3 +83,6 @@ if config.host_os not in ['FreeBSD', 'Linux', 'Darwin']: # because the test hangs. if config.target_arch != 'aarch64': config.available_features.add('stable-runtime') + +if config.host_os == 'Darwin' and config.target_arch in ["x86_64", "x86_64h"]: + config.parallelism_group = "darwin-64bit-sanitizer" diff --git a/compiler-rt/unittests/lit.common.unit.cfg b/compiler-rt/unittests/lit.common.unit.cfg index 2bd8f376f00..475b22d41ce 100644 --- a/compiler-rt/unittests/lit.common.unit.cfg +++ b/compiler-rt/unittests/lit.common.unit.cfg @@ -28,3 +28,13 @@ 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 64-bit sanitized processes simultaneously on 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["darwin-64bit-sanitizer"] = 3 + + def darwin_sanitizer_parallelism_group_func(test): + return "darwin-64bit-sanitizer" if "x86_64" in test.file_path else "" + config.darwin_sanitizer_parallelism_group_func = darwin_sanitizer_parallelism_group_func |

