Unverified Commit 4f38db1d authored by Max Dymond's avatar Max Dymond Committed by Daniel Stenberg
Browse files

fuzzer: move to using external curl-fuzzer

Use the external curl-fuzzer repository for fuzzing.

Closes #1923
parent 120d963a
Loading
Loading
Loading
Loading
+8 −11
Original line number Diff line number Diff line
@@ -156,18 +156,15 @@ script:
        fi
    - |
        if [ "$T" = "fuzzer" ]; then
          export CC=clang
          export CXX=clang++
          export CFLAGS="-fsanitize=address"
          # Download the fuzzer to a temporary folder
          ./tests/fuzz/download_fuzzer.sh /tmp/curl_fuzzer

          # Specifically use libstdc++ for travis as libc++ is not installed.
          # This is ok because we're not compiling against libFuzzer.
          export CXXFLAGS="-fsanitize=address -stdlib=libstdc++"
          ./configure --disable-shared --enable-debug --enable-maintainer-mode
          make
          cd tests/fuzz
          make clean
          make check
          export CURLSRC=$PWD

          # Run the mainline fuzzer test
          pushd /tmp/curl_fuzzer
          ./mainline.sh ${CURLSRC}
          popd
        fi

# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
+0 −3
Original line number Diff line number Diff line
@@ -210,9 +210,6 @@ test-am:

endif

fuzzer:
	@(cd tests/fuzz; $(MAKE) all)

examples:
	@(cd docs/examples; $(MAKE) check)

+0 −1
Original line number Diff line number Diff line
@@ -3974,7 +3974,6 @@ AC_CONFIG_FILES([Makefile \
           tests/server/Makefile \
           tests/libtest/Makefile \
           tests/unit/Makefile \
           tests/fuzz/Makefile \
           packages/Makefile \
           packages/Win32/Makefile \
           packages/Win32/cygwin/Makefile \
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ DIST_UNIT = unit
endif

SUBDIRS = certs data server libtest $(BUILD_UNIT)
DIST_SUBDIRS = $(SUBDIRS) $(DIST_UNIT) fuzz
DIST_SUBDIRS = $(SUBDIRS) $(DIST_UNIT)

PERLFLAGS = -I$(srcdir)

tests/fuzz/Makefile.am

deleted100644 → 0
+0 −56
Original line number Diff line number Diff line
#***************************************************************************
#                                  _   _ ____  _
#  Project                     ___| | | |  _ \| |
#                             / __| | | | |_) | |
#                            | (__| |_| |  _ <| |___
#                             \___|\___/|_| \_\_____|
#
# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at https://curl.haxx.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
###########################################################################
AUTOMAKE_OPTIONS = foreign nostdinc

# Specify our include paths here, and do it relative to $(top_srcdir) and
# $(top_builddir), to ensure that these paths which belong to the library
# being currently built and tested are searched before the library which
# might possibly already be installed in the system.
#
# $(top_srcdir)/include is for libcurl's external include files
# $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
# $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "borrowed" files

AM_CXXFLAGS = -I$(top_srcdir)/include        \
              -I$(top_builddir)/lib          \
              -I$(top_srcdir)/lib            \
              -I$(top_srcdir)/tests/fuzz

LIBS = -lpthread -lm

# Run e.g. "make all LIB_FUZZING_ENGINE=/path/to/libFuzzer.a"
# to link the fuzzer(s) against a real fuzzing engine.
#
# OSS-Fuzz will define its own value for LIB_FUZZING_ENGINE.
LIB_FUZZING_ENGINE ?= libstandaloneengine.a

LDADD = $(top_builddir)/lib/libcurl.la      \
        $(LIB_FUZZING_ENGINE) @LDFLAGS@ @LIBCURL_LIBS@

# Makefile.inc provides neat definitions
include Makefile.inc

checksrc:
	@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.cc

noinst_PROGRAMS = $(FUZZPROGS)
noinst_LIBRARIES = $(FUZZLIBS)
Loading