summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2015-08-12 23:49:52 +0000
committerReid Kleckner <rnk@google.com>2015-08-12 23:49:52 +0000
commit3f3af2cf744e3f87f050551ae9712540bde929b0 (patch)
treea1e0e2fa23c0dbc1662789fb1c743c0218c10323
parenta3191ef66bb8530cee38fe2828fabd26c66c9450 (diff)
downloadbcm5719-llvm-3f3af2cf744e3f87f050551ae9712540bde929b0.tar.gz
bcm5719-llvm-3f3af2cf744e3f87f050551ae9712540bde929b0.zip
[windows] Always use the lit shell on Windows, even if bash is present
Summary: This is consistent with LLVM and Clang. The lit shell isn't a complete bash implementation, but its behavior is more easily reproducible. This fixes some ubsan test failures. One ubsan test requires a shell currently, so I added "REQUIRES: shell", and the other doesn't work on Windows because it prints a stack trace and uses a linker that doesn't support DWARF. We can fix it eventually through other means. Reviewers: samsonov, pcc Subscribers: yaron.keren, filcab, llvm-commits Differential Revision: http://reviews.llvm.org/D11960 llvm-svn: 244837
-rw-r--r--compiler-rt/test/asan/lit.cfg4
-rw-r--r--compiler-rt/test/lit.common.cfg7
-rw-r--r--compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cc3
-rw-r--r--compiler-rt/test/ubsan/TestCases/TypeCheck/misaligned.cpp4
4 files changed, 11 insertions, 7 deletions
diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg
index 9c4fa4b47d2..028f5f89b05 100644
--- a/compiler-rt/test/asan/lit.cfg
+++ b/compiler-rt/test/asan/lit.cfg
@@ -35,10 +35,6 @@ if config.host_os == 'Darwin':
# much slower. Let's override this and run lit tests with 'abort_on_error=0'.
config.environment['ASAN_OPTIONS'] = 'abort_on_error=0'
-# testFormat: The test format to use to interpret tests.
-external_bash = (not sys.platform in ['win32'])
-config.test_format = lit.formats.ShTest(external_bash)
-
# Setup source root.
config.test_source_root = os.path.dirname(__file__)
diff --git a/compiler-rt/test/lit.common.cfg b/compiler-rt/test/lit.common.cfg
index c1ad2603150..795435048fb 100644
--- a/compiler-rt/test/lit.common.cfg
+++ b/compiler-rt/test/lit.common.cfg
@@ -11,10 +11,11 @@ import subprocess
import lit.formats
import lit.util
-# Setup test format
-execute_external = (platform.system() != 'Windows'
- or lit_config.getBashPath() not in [None, ""])
+# Setup test format. Use bash on Unix and the lit shell on Windows.
+execute_external = (not sys.platform in ['win32'])
config.test_format = lit.formats.ShTest(execute_external)
+if execute_external:
+ config.available_features.add('shell')
# Setup clang binary.
compiler_path = getattr(config, 'clang', None)
diff --git a/compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cc b/compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cc
index df6e835dd9d..76cfd509901 100644
--- a/compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cc
+++ b/compiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cc
@@ -1,5 +1,8 @@
// Test various levels of coverage
//
+// FIXME: Port the environment variable logic below for the lit shell.
+// REQUIRES: shell
+//
// RUN: mkdir -p %T/coverage-levels
// RUN: OPT=coverage=1:verbosity=1:coverage_dir=%T/coverage-levels
// RUN: %clangxx -fsanitize=shift -DGOOD_SHIFT=1 -O1 -fsanitize-coverage=func %s -o %t
diff --git a/compiler-rt/test/ubsan/TestCases/TypeCheck/misaligned.cpp b/compiler-rt/test/ubsan/TestCases/TypeCheck/misaligned.cpp
index 1b0abad747b..501b9c1d30a 100644
--- a/compiler-rt/test/ubsan/TestCases/TypeCheck/misaligned.cpp
+++ b/compiler-rt/test/ubsan/TestCases/TypeCheck/misaligned.cpp
@@ -1,3 +1,7 @@
+// FIXME: This test currently fails on Windows because we use the MSVC linker,
+// which throws away DWARF debug info.
+// XFAIL: win32
+//
// RUN: %clangxx -fsanitize=alignment -g %s -O3 -o %t
// RUN: %run %t l0 && %run %t s0 && %run %t r0 && %run %t m0 && %run %t f0 && %run %t n0 && %run %t u0
// RUN: %run %t l1 2>&1 | FileCheck %s --check-prefix=CHECK-LOAD --strict-whitespace
OpenPOWER on IntegriCloud