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__) 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/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/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