diff options
| author | Julian Lettner <jlettner@apple.com> | 2019-02-27 19:06:20 +0000 |
|---|---|---|
| committer | Julian Lettner <jlettner@apple.com> | 2019-02-27 19:06:20 +0000 |
| commit | 6eef7d05249fb88bf5b31289f4c27d75f50c1ae4 (patch) | |
| tree | ae2d29245574c1859e9fcf32f85c2ad7e50ab47d /compiler-rt/test | |
| parent | b65a8ad761c34a4c2eeec1385c2e00c9a51086d0 (diff) | |
| download | bcm5719-llvm-6eef7d05249fb88bf5b31289f4c27d75f50c1ae4.tar.gz bcm5719-llvm-6eef7d05249fb88bf5b31289f4c27d75f50c1ae4.zip | |
[Darwin][NFC] Refactor throttling of 64bit sanitizer tests on Darwin
Underlying condition for throttling is "has large mmap'd regions" (i.e.,
shadow memory) and not sanitizers in general (e.g., UBSan does not need
to be throttled).
Rename parallelism group `darwin-64bit-sanitizer` to `shadow-memory` and
apply it unconditionally to all tests which require it. We can then have
all the Darwin throttling logic in one place in the commen lit config.
Throttle sanitizer_common unit tests. Configuration was previously
missing from sanitizer_common/Unit/lit.site.cfg.
Reviewed by: kubamracek
Differential Revision: https://reviews.llvm.org/D58677
llvm-svn: 355018
Diffstat (limited to 'compiler-rt/test')
| -rw-r--r-- | compiler-rt/test/asan/lit.cfg | 4 | ||||
| -rw-r--r-- | compiler-rt/test/fuzzer/lit.cfg | 4 | ||||
| -rw-r--r-- | compiler-rt/test/lit.common.cfg | 26 | ||||
| -rw-r--r-- | compiler-rt/test/sanitizer_common/Unit/lit.site.cfg.in | 3 | ||||
| -rw-r--r-- | compiler-rt/test/sanitizer_common/lit.common.cfg | 4 | ||||
| -rw-r--r-- | compiler-rt/test/tsan/lit.cfg | 4 |
6 files changed, 23 insertions, 22 deletions
diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg index 471144ee462..143cd3be98a 100644 --- a/compiler-rt/test/asan/lit.cfg +++ b/compiler-rt/test/asan/lit.cfg @@ -220,6 +220,4 @@ else: if config.host_os not in ['Linux', 'Darwin', 'FreeBSD', 'SunOS', 'Windows', 'NetBSD']: config.unsupported = True -if config.host_os == 'Darwin': - if config.target_arch in ["x86_64", "x86_64h"]: - config.parallelism_group = "darwin-64bit-sanitizer" +config.parallelism_group = 'shadow-memory' diff --git a/compiler-rt/test/fuzzer/lit.cfg b/compiler-rt/test/fuzzer/lit.cfg index 1bc1d7d7bc3..6f2a4dacae2 100644 --- a/compiler-rt/test/fuzzer/lit.cfg +++ b/compiler-rt/test/fuzzer/lit.cfg @@ -114,6 +114,4 @@ if default_asan_opts_str: config.substitutions.append(('%env_asan_opts=', 'env ASAN_OPTIONS=' + default_asan_opts_str)) -if config.host_os == 'Darwin': - if config.target_arch in ["x86_64", "x86_64h"]: - config.parallelism_group = "darwin-64bit-sanitizer" +config.parallelism_group = 'shadow-memory' diff --git a/compiler-rt/test/lit.common.cfg b/compiler-rt/test/lit.common.cfg index bf3897e3eca..ed556a7cbe9 100644 --- a/compiler-rt/test/lit.common.cfg +++ b/compiler-rt/test/lit.common.cfg @@ -402,17 +402,23 @@ llvm_config_cmd.wait() 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 +# No throttling on non-Darwin platforms. +lit_config.parallelism_groups['shadow-memory'] = None -# Force sequential execution when running tests on iOS devices. -if config.host_os == 'Darwin' and config.apple_platform != "osx" and not config.apple_platform.endswith("sim"): - lit_config.warning("iOS device test cases being run sequentially") - lit_config.parallelism_groups["ios-device"] = 1 - config.parallelism_group = "ios-device" +if platform.system() == 'Darwin': + ios_device = config.apple_platform != 'osx' and not config.apple_platform.endswith('sim') + # Force sequential execution when running tests on iOS devices. + if ios_device: + lit_config.warning('Forcing sequential execution for iOS device tests') + lit_config.parallelism_groups['ios-device'] = 1 + config.parallelism_group = 'ios-device' + + # 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. + elif config.target_arch in ['x86_64', 'x86_64h']: + lit_config.warning('Throttling sanitizer tests that require shadow memory on Darwin 64bit') + lit_config.parallelism_groups['shadow-memory'] = 3 # Multiple substitutions are necessary to support multiple shared objects used # at once. diff --git a/compiler-rt/test/sanitizer_common/Unit/lit.site.cfg.in b/compiler-rt/test/sanitizer_common/Unit/lit.site.cfg.in index c62e23c2880..46855d9e854 100644 --- a/compiler-rt/test/sanitizer_common/Unit/lit.site.cfg.in +++ b/compiler-rt/test/sanitizer_common/Unit/lit.site.cfg.in @@ -12,3 +12,6 @@ config.name = 'SanitizerCommon-Unit' config.test_exec_root = os.path.join("@COMPILER_RT_BINARY_DIR@", "lib", "sanitizer_common", "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/sanitizer_common/lit.common.cfg b/compiler-rt/test/sanitizer_common/lit.common.cfg index 323c1ef2683..8457f92d732 100644 --- a/compiler-rt/test/sanitizer_common/lit.common.cfg +++ b/compiler-rt/test/sanitizer_common/lit.common.cfg @@ -71,6 +71,4 @@ config.suffixes = ['.c', '.cc', '.cpp'] if config.host_os not in ['Linux', 'Darwin', 'NetBSD', 'FreeBSD']: config.unsupported = True -if config.host_os == 'Darwin': - if config.target_arch in ["x86_64", "x86_64h"]: - config.parallelism_group = "darwin-64bit-sanitizer" +config.parallelism_group = 'shadow-memory' diff --git a/compiler-rt/test/tsan/lit.cfg b/compiler-rt/test/tsan/lit.cfg index 76d60cf41e3..8dc5228457d 100644 --- a/compiler-rt/test/tsan/lit.cfg +++ b/compiler-rt/test/tsan/lit.cfg @@ -86,6 +86,4 @@ if config.host_os not in ['FreeBSD', 'Linux', 'Darwin', 'NetBSD']: if config.android: config.unsupported = True -if config.host_os == 'Darwin': - if config.target_arch in ["x86_64", "x86_64h"]: - config.parallelism_group = "darwin-64bit-sanitizer" +config.parallelism_group = 'shadow-memory' |

