[PATCH] D11960: [windows] Always use the lit shell on Windows, even if bash is present
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 11 14:17:43 PDT 2015
rnk created this revision.
rnk added reviewers: samsonov, pcc.
rnk added a subscriber: llvm-commits.
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.
I marked the remaining two tests as unsupported with REQUIRES: lines.
http://reviews.llvm.org/D11960
Files:
test/asan/lit.cfg
test/lit.common.cfg
test/ubsan/TestCases/Misc/coverage-levels.cc
test/ubsan/TestCases/TypeCheck/misaligned.cpp
Index: test/ubsan/TestCases/TypeCheck/misaligned.cpp
===================================================================
--- test/ubsan/TestCases/TypeCheck/misaligned.cpp
+++ 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.
+// REQUIRES: posix
+//
// 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
Index: test/ubsan/TestCases/Misc/coverage-levels.cc
===================================================================
--- test/ubsan/TestCases/Misc/coverage-levels.cc
+++ 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
Index: test/lit.common.cfg
===================================================================
--- test/lit.common.cfg
+++ test/lit.common.cfg
@@ -11,10 +11,11 @@
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)
@@ -110,6 +111,12 @@
if config.has_lld:
config.available_features.add('lld')
+# Some tests only work on Windows and some only work on posix.
+if platform.system() == 'Windows':
+ config.available_features.add('windows')
+else:
+ config.available_features.add('posix')
+
lit.util.usePlatformSdkOnDarwin(config, lit_config)
def is_darwin_lto_supported():
Index: test/asan/lit.cfg
===================================================================
--- test/asan/lit.cfg
+++ test/asan/lit.cfg
@@ -35,10 +35,6 @@
# 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__)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11960.31862.patch
Type: text/x-patch
Size: 2778 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150811/6df613a6/attachment.bin>
More information about the llvm-commits
mailing list