Drop Windows support from libFuzzer tests.
authorGeorge Karpenkov <ekarpenkov@apple.com>
Fri, 4 Aug 2017 17:43:28 +0000 (17:43 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Fri, 4 Aug 2017 17:43:28 +0000 (17:43 +0000)
Differential Revision: https://reviews.llvm.org/D36205

llvm-svn: 310076

llvm/lib/Fuzzer/test/CMakeLists.txt
llvm/lib/Fuzzer/test/afl-driver-extra-stats.test
llvm/lib/Fuzzer/test/afl-driver-stderr.test
llvm/lib/Fuzzer/test/equivalence-signals.test
llvm/lib/Fuzzer/test/equivalence.test
llvm/lib/Fuzzer/test/lit.cfg
llvm/lib/Fuzzer/test/lit.site.cfg.in
llvm/lib/Fuzzer/test/merge-posix.test
llvm/lib/Fuzzer/test/ulimit.test

index 3f30e36..92a833d 100644 (file)
@@ -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_COMPILER> <FLAGS> ${CMAKE_CXX_FLAGS} ${CRT_FLAG} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> /link <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS>")
-  set(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> ${CMAKE_CXX_FLAGS} ${CRT_FLAG} /LD <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG> <TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES> /link <LINK_FLAGS>")
-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)
index b5628bc..85cfaaf 100644 (file)
@@ -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.
index 941fe55..217ca7f 100644 (file)
@@ -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.
index a2dbd94..3c50aff 100644 (file)
@@ -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.
index cd7c6a6..8eb1e2c 100644 (file)
@@ -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
 
index 7465f27..a1cd81a 100644 (file)
@@ -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()``.
index e257f97..f1fe1d9 100644 (file)
@@ -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@"
index f37c0fb..1c27eb4 100644 (file)
@@ -1,5 +1,3 @@
-REQUIRES: posix
-
 RUN: %cpp_compiler %S/FullCoverageSetTest.cpp -o %t-LLVMFuzzer-FullCoverageSetTest
 
 RUN: rm -rf  %tmp/T1 %tmp/T2
index a7f17f0..1f410ee 100644 (file)
@@ -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