[PATCH] D42156: Force lit to execute the ASan and TSan tests on iOS devices sequentially

Dan Liew via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 16 18:04:31 PST 2018


delcypher created this revision.
delcypher added a reviewer: kubamracek.
Herald added a subscriber: Sanitizers.

The current implementation of commands in
`test/sanitizer_common/ios_commands/` for iOS devices cannot be executed
in parallel which results in the ASan and TSan tests failing when
executed in parallel by lit which was the default behaviour.

We now force the ASan and TSan tests to be a new parallelism group named
`darwin-ios-device-sanitizer` which allows only one test to be run at a
time.  We also emit a warning informing the user that tests are being
run sequentially.

This only applies if the target is an iOS device.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D42156

Files:
  test/asan/lit.cfg
  test/tsan/lit.cfg


Index: test/tsan/lit.cfg
===================================================================
--- test/tsan/lit.cfg
+++ test/tsan/lit.cfg
@@ -85,5 +85,13 @@
 if config.android:
   config.unsupported = True
 
-if config.host_os == 'Darwin' and config.target_arch in ["x86_64", "x86_64h"]:
-  config.parallelism_group = "darwin-64bit-sanitizer"
+if config.host_os == 'Darwin':
+  if config.target_arch in ["x86_64", "x86_64h"]:
+    config.parallelism_group = "darwin-64bit-sanitizer"
+  elif config.ios:
+    # The current implementation of the tools in sanitizer_common/ios_comamnds
+    # do not support parallel execution so force sequential execution of the
+    # tests on iOS devices.
+    config.parallelism_group = "darwin-ios-device-sanitizer"
+    lit_config.warning("TSan ios device test cases being run sequentially")
+    lit_config.parallelism_groups["darwin-ios-device-sanitizer"] = 1
Index: test/asan/lit.cfg
===================================================================
--- test/asan/lit.cfg
+++ test/asan/lit.cfg
@@ -212,5 +212,13 @@
 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"
+if config.host_os == 'Darwin':
+  if config.target_arch in ["x86_64", "x86_64h"]:
+    config.parallelism_group = "darwin-64bit-sanitizer"
+  elif config.ios:
+    # The current implementation of the tools in sanitizer_common/ios_comamnds
+    # do not support parallel execution so force sequential execution of the
+    # tests on iOS devices.
+    config.parallelism_group = "darwin-ios-device-sanitizer"
+    lit_config.warning("ASan ios device test cases being run sequentially")
+    lit_config.parallelism_groups["darwin-ios-device-sanitizer"] = 1


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42156.130080.patch
Type: text/x-patch
Size: 1847 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180117/e454dcb4/attachment.bin>


More information about the llvm-commits mailing list