From dd5a25327370514dda1c3d8dd44de23445cfa01b Mon Sep 17 00:00:00 2001 From: George Karpenkov Date: Fri, 4 Aug 2017 17:43:28 +0000 Subject: [PATCH] Drop Windows support from libFuzzer tests. Differential Revision: https://reviews.llvm.org/D36205 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310076 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Fuzzer/test/CMakeLists.txt | 46 +++------------------ lib/Fuzzer/test/afl-driver-extra-stats.test | 2 - lib/Fuzzer/test/afl-driver-stderr.test | 2 - lib/Fuzzer/test/equivalence-signals.test | 1 - lib/Fuzzer/test/equivalence.test | 1 - lib/Fuzzer/test/lit.cfg | 3 -- lib/Fuzzer/test/lit.site.cfg.in | 1 - lib/Fuzzer/test/merge-posix.test | 2 - lib/Fuzzer/test/ulimit.test | 2 - 9 files changed, 5 insertions(+), 55 deletions(-) diff --git a/lib/Fuzzer/test/CMakeLists.txt b/lib/Fuzzer/test/CMakeLists.txt index 3f30e36e8ef..92a833da924 100644 --- a/lib/Fuzzer/test/CMakeLists.txt +++ b/lib/Fuzzer/test/CMakeLists.txt @@ -1,26 +1,5 @@ -if(MSVC) - # For tests use the CRT specified for release build - # (asan doesn't support MDd and MTd) - if ("${LLVM_USE_CRT_RELEASE}" STREQUAL "") - set(CRT_FLAG " /MD ") - else() - set(CRT_FLAG " /${LLVM_USE_CRT_RELEASE} ") - endif() - # In order to use the sanitizers in Windows, we need to link against many - # runtime libraries which will depend on the target being created - # (executable or dll) and the c runtime library used (MT/MD). - # By default, cmake uses link.exe for linking, which fails because we don't - # specify the appropiate dependencies. - # As we don't want to consider all of that possible situations which depends - # on the implementation of the compiler-rt, the simplest option is to change - # the rules for linking executables and shared libraries, using the compiler - # instead of link.exe. Clang will consider the sanitizer flags, and - # automatically provide the required libraries to the linker. - set(CMAKE_CXX_LINK_EXECUTABLE " ${CMAKE_CXX_FLAGS} ${CRT_FLAG} -o /link ") - set(CMAKE_CXX_CREATE_SHARED_LIBRARY " ${CMAKE_CXX_FLAGS} ${CRT_FLAG} /LD -o /link ") -endif() -if(APPLE OR MSVC) +if(APPLE) # LeakSanitizer is not supported on OSX and Windows right now set(HAS_LSAN 0) message(WARNING "LeakSanitizer is not supported." @@ -62,20 +41,11 @@ include_directories(..) # Note this is done after declaring all tests so we can inform lit if any tests # need to be disabled. ############################################################################### -set(LIBFUZZER_POSIX 1) -if (MSVC) - set(LIBFUZZER_POSIX 0) -endif() # Use just-built Clang to compile/link tests on all platforms, except for # Windows where we need to use clang-cl instead. -if(NOT MSVC) - set(LIBFUZZER_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) - set(LIBFUZZER_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++) -else() - set(LIBFUZZER_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang.exe) - set(LIBFUZZER_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++.exe) -endif() +set(LIBFUZZER_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) +set(LIBFUZZER_TEST_CXX_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++) # LIT-based libFuzzer tests. configure_lit_site_cfg( @@ -91,12 +61,6 @@ configure_lit_site_cfg( add_lit_testsuite(check-fuzzer "Running Fuzzer tests" ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS LLVMFuzzer-Unittest - ) - + DEPENDS LLVMFuzzer-Unittest) -# Don't add dependencies on Windows. The linker step would fail on Windows, -# since cmake will use link.exe for linking and won't include compiler-rt libs. -if(NOT MSVC) - add_dependencies(check-fuzzer LLVMFuzzer asan clang llvm-symbolizer FileCheck sancov not) -endif() +add_dependencies(check-fuzzer LLVMFuzzer asan clang llvm-symbolizer FileCheck sancov not) diff --git a/lib/Fuzzer/test/afl-driver-extra-stats.test b/lib/Fuzzer/test/afl-driver-extra-stats.test index b5628bcee92..85cfaaf1eb9 100644 --- a/lib/Fuzzer/test/afl-driver-extra-stats.test +++ b/lib/Fuzzer/test/afl-driver-extra-stats.test @@ -1,5 +1,3 @@ -REQUIRES: posix - RUN: %no_fuzzer_cpp_compiler -fno-sanitize-coverage=edge,trace-cmp,indirect-calls,8bit-counters,trace-pc-guard %S/AFLDriverTest.cpp %S/../afl/afl_driver.cpp -o %t-AFLDriverTest ; Test that not specifying an extra stats file isn't broken. diff --git a/lib/Fuzzer/test/afl-driver-stderr.test b/lib/Fuzzer/test/afl-driver-stderr.test index 941fe5532a4..217ca7ff96a 100644 --- a/lib/Fuzzer/test/afl-driver-stderr.test +++ b/lib/Fuzzer/test/afl-driver-stderr.test @@ -1,5 +1,3 @@ -REQUIRES: posix - RUN: %no_fuzzer_cpp_compiler -fno-sanitize-coverage=edge,trace-cmp,indirect-calls,8bit-counters,trace-pc-guard %S/AFLDriverTest.cpp %S/../afl/afl_driver.cpp -o %t-AFLDriverTest ; Test that not specifying a stderr file isn't broken. diff --git a/lib/Fuzzer/test/equivalence-signals.test b/lib/Fuzzer/test/equivalence-signals.test index a2dbd948f0e..3c50affa6fa 100644 --- a/lib/Fuzzer/test/equivalence-signals.test +++ b/lib/Fuzzer/test/equivalence-signals.test @@ -1,4 +1,3 @@ -REQUIRES: posix # Run EquivalenceATest against itself with a small timeout # to stress the signal handling and ensure that shmem doesn't mind # the signals. diff --git a/lib/Fuzzer/test/equivalence.test b/lib/Fuzzer/test/equivalence.test index cd7c6a6468d..8eb1e2c865c 100644 --- a/lib/Fuzzer/test/equivalence.test +++ b/lib/Fuzzer/test/equivalence.test @@ -1,4 +1,3 @@ -REQUIRES: posix RUN: %cpp_compiler %S/EquivalenceATest.cpp -o %t-LLVMFuzzer-EquivalenceATest RUN: %cpp_compiler %S/EquivalenceBTest.cpp -o %t-LLVMFuzzer-EquivalenceBTest diff --git a/lib/Fuzzer/test/lit.cfg b/lib/Fuzzer/test/lit.cfg index 7465f276bce..a1cd81ae58d 100644 --- a/lib/Fuzzer/test/lit.cfg +++ b/lib/Fuzzer/test/lit.cfg @@ -43,9 +43,6 @@ if sys.platform.startswith('win') or sys.platform.startswith('cygwin'): if sys.platform.startswith('darwin'): config.available_features.add('darwin') -if config.is_posix: - config.available_features.add('posix') - if sys.platform.startswith('linux'): # Note the value of ``sys.platform`` is not consistent # between python 2 and 3, hence the use of ``.startswith()``. diff --git a/lib/Fuzzer/test/lit.site.cfg.in b/lib/Fuzzer/test/lit.site.cfg.in index e257f978146..f1fe1d9f124 100644 --- a/lib/Fuzzer/test/lit.site.cfg.in +++ b/lib/Fuzzer/test/lit.site.cfg.in @@ -1,7 +1,6 @@ config.test_exec_root = "@CMAKE_CURRENT_BINARY_DIR@" config.llvm_tools_dir = "@LLVM_TOOLS_DIR@" config.has_lsan = True if @HAS_LSAN@ == 1 else False -config.is_posix = @LIBFUZZER_POSIX@ config.cpp_compiler = "@LIBFUZZER_TEST_CXX_COMPILER@" config.c_compiler = "@LIBFUZZER_TEST_COMPILER@" config.osx_sysroot = "@CMAKE_OSX_SYSROOT@" diff --git a/lib/Fuzzer/test/merge-posix.test b/lib/Fuzzer/test/merge-posix.test index f37c0fb5447..1c27eb4a4ea 100644 --- a/lib/Fuzzer/test/merge-posix.test +++ b/lib/Fuzzer/test/merge-posix.test @@ -1,5 +1,3 @@ -REQUIRES: posix - RUN: %cpp_compiler %S/FullCoverageSetTest.cpp -o %t-LLVMFuzzer-FullCoverageSetTest RUN: rm -rf %tmp/T1 %tmp/T2 diff --git a/lib/Fuzzer/test/ulimit.test b/lib/Fuzzer/test/ulimit.test index a7f17f0c530..1f410ee219c 100644 --- a/lib/Fuzzer/test/ulimit.test +++ b/lib/Fuzzer/test/ulimit.test @@ -1,5 +1,3 @@ -REQUIRES: posix - RUN: %cpp_compiler %S/SimpleTest.cpp -o %t-LLVMFuzzer-SimpleTest RUN: ulimit -s 1000 RUN: not %t-LLVMFuzzer-SimpleTest -- 2.50.1