mirror of
https://github.com/coredns/coredns.git
synced 2025-11-19 02:12:30 -05:00
Add Continuous Fuzzing Integration to Fuzzit (#3093)
This feature introduce continuous fuzzing with the following features: * Ruzzing: fuzz-targets are run continuously on master ( the fuzzers are updated every time new code is pushed to master) * Regresion: In addition to unit-tests travis runs all fuzz targets through the generated corpus to catch bugs early on in the CI process before merge.
This commit is contained in:
committed by
Miek Gieben
parent
bbc78abf6f
commit
c33fc9e3b0
@@ -14,6 +14,7 @@
|
||||
#$ go get github.com/dvyukov/go-fuzz/go-fuzz-build
|
||||
|
||||
REPO:="github.com/coredns/coredns"
|
||||
# set LIBFUZZER=YES to build libfuzzer compatible targets
|
||||
|
||||
FUZZ:=$(dir $(wildcard plugin/*/fuzz.go)) # plugin/cache/
|
||||
PLUGINS:=$(foreach f,$(FUZZ),$(subst plugin, ,$(f:/=))) # > /cache
|
||||
@@ -25,13 +26,25 @@ echo:
|
||||
|
||||
.PHONY: $(PLUGINS)
|
||||
$(PLUGINS): echo
|
||||
ifeq ($(LIBFUZZER), YES)
|
||||
go-fuzz-build -tags fuzz -libfuzzer -o $(@).a ./plugin/$(@)
|
||||
clang -fsanitize=fuzzer $(@).a -o $(@)
|
||||
else
|
||||
go-fuzz-build -tags fuzz $(REPO)/plugin/$(@)
|
||||
go-fuzz -bin=./$(@)-fuzz.zip -workdir=fuzz/$(@)
|
||||
endif
|
||||
|
||||
|
||||
.PHONY: corefile
|
||||
corefile:
|
||||
ifeq ($(LIBFUZZER), YES)
|
||||
go-fuzz-build -tags fuzz -libfuzzer -o $(@).a ./test
|
||||
clang -fsanitize=fuzzer $(@).a -o $(@)
|
||||
else
|
||||
go-fuzz-build -tags fuzz $(REPO)/test
|
||||
go-fuzz -bin=./test-fuzz.zip -workdir=fuzz/$(@)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
Reference in New Issue
Block a user