summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2017-02-11 13:51:39 -0800
committerGitHub <noreply@github.com>2017-02-11 13:51:39 -0800
commit03e4b8de929328eb5cbb031ff535c50396d43bb9 (patch)
tree0552947207245d263abffb91e1c6b1d92b86e653 /Makefile
parent02c599f52b8817916405b4263da3616a55f77632 (diff)
parentec984370fb525d0cbc20b009f69c9c5eaec022a7 (diff)
Merge pull request #132 from zeux/fuzz
Improve fuzzing support
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile11
1 files changed, 7 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index f9b26d6..500675c 100644
--- a/Makefile
+++ b/Makefile
@@ -68,10 +68,9 @@ test: $(EXECUTABLE)
./$(EXECUTABLE)
endif
-fuzz:
- @mkdir -p $(BUILD)
- $(AFL)/afl-clang++ tests/fuzz_parse.cpp tests/allocator.cpp src/pugixml.cpp $(CXXFLAGS) -o $(BUILD)/fuzz_parse
- $(AFL)/afl-fuzz -i tests/data_fuzz_parse -o $(BUILD)/fuzz_parse_out -x $(AFL)/testcases/_extras/xml/ -- $(BUILD)/fuzz_parse @@
+fuzz_%: $(BUILD)/fuzz_%
+ @mkdir -p build/$@
+ $< build/$@ tests/data_$* -max_len=1024 -dict=tests/fuzz_$*.dict
clean:
rm -rf $(BUILD)
@@ -87,6 +86,10 @@ build/pugixml-%: .FORCE | $(RELEASE)
$(EXECUTABLE): $(OBJECTS)
$(CXX) $(OBJECTS) $(LDFLAGS) -o $@
+$(BUILD)/fuzz_%: tests/fuzz_%.cpp src/pugixml.cpp
+ @mkdir -p $(BUILD)
+ clang++ $(CXXFLAGS) -fsanitize=address -fsanitize-coverage=trace-pc-guard $^ libFuzzer.a -o $@
+
$(BUILD)/%.o: %
@mkdir -p $(dir $@)
$(CXX) $< $(CXXFLAGS) -c -MMD -MP -o $@