summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test
diff options
context:
space:
mode:
authorJulian Lettner <jlettner@apple.com>2019-02-27 19:06:20 +0000
committerJulian Lettner <jlettner@apple.com>2019-02-27 19:06:20 +0000
commit6eef7d05249fb88bf5b31289f4c27d75f50c1ae4 (patch)
treeae2d29245574c1859e9fcf32f85c2ad7e50ab47d /compiler-rt/test
parentb65a8ad761c34a4c2eeec1385c2e00c9a51086d0 (diff)
downloadbcm5719-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.cfg4
-rw-r--r--compiler-rt/test/fuzzer/lit.cfg4
-rw-r--r--compiler-rt/test/lit.common.cfg26
-rw-r--r--compiler-rt/test/sanitizer_common/Unit/lit.site.cfg.in3
-rw-r--r--compiler-rt/test/sanitizer_common/lit.common.cfg4
-rw-r--r--compiler-rt/test/tsan/lit.cfg4
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'
OpenPOWER on IntegriCloud