mirror of
https://github.com/mirror/wget.git
synced 2024-12-26 12:50:44 +08:00
a4402120ad
* Makefile.am: Add fuzz/ to SUBDIRS * cfg.mk: Fix 'make syntax-check' * configure.ac: Add --enable-fuzzing * fuzz/Makefile.am: New file * fuzz/README.md: New file * fuzz/fuzzer.h: New file * fuzz/get_all_corpora: New file * fuzz/get_ossfuzz_corpora: New file * fuzz/glob_crash.c: New file * fuzz/main.c: New file * fuzz/run-afl.sh: New file * fuzz/run-clang.sh: New file * fuzz/view-coverage.sh: New file * fuzz/wget_options_fuzzer.c: New file * fuzz/wget_options_fuzzer.dict: New file * src/init.c (cleanup): Free more resources * src/main.c (init_switches): Initialize only once, (print_usage): Don't print if TESTING is defined * src/utils.h: Include wget.h
38 lines
1.4 KiB
Bash
Executable File
38 lines
1.4 KiB
Bash
Executable File
#!/bin/bash -eu
|
|
#
|
|
# (C)2017 Tim Ruehsen tim.ruehsen@gmx.de
|
|
#
|
|
# View the coverage report for one or more fuzzers.
|
|
|
|
# 1. execute 'make fuzz-coverage' in the top directory
|
|
# 2. execute './view-coverage.sh <fuzz target(s)>
|
|
|
|
# Example with single fuzzer:
|
|
# ./view-coverage.sh wget_options_fuzzer
|
|
|
|
# Example with two fuzzers:
|
|
# ./view-coverage.sh wget_options_fuzzer wget_html_parse_fuzzer
|
|
|
|
if test -z "$1"; then
|
|
echo "Usage: $0 <fuzz target(s)>"
|
|
echo "Example: $0 wget_options_fuzzer"
|
|
exit 1
|
|
fi
|
|
|
|
#fuzzer="./"$1
|
|
LCOV_INFO=coverage.info
|
|
#./coverage.sh $fuzzer
|
|
#lcov --capture --initial --directory ../src/.libs --directory . --output-file $LCOV_INFO
|
|
#lcov --capture --directory ../src/.libs --output-file $LCOV_INFO
|
|
#lcov --remove $LCOV_INFO '*/test_linking.c' '*/css_tokenizer.lex' '*/<stdout>' '*/*.h' -o $LCOV_INFO
|
|
#genhtml --prefix . --ignore-errors source $LCOV_INFO --legend --title "$1" --output-directory=lcov
|
|
|
|
lcov --zerocounters --directory ../src/
|
|
lcov --capture --initial --directory ../src/.libs --directory . --output-file $LCOV_INFO
|
|
make check TESTS="$*" CFLAGS="$(CFLAGS) --coverage" LDFLAGS="$(LDFLAGS) --coverage"
|
|
lcov --capture --directory ../src/.libs --output-file $LCOV_INFO
|
|
lcov --remove $LCOV_INFO '*/css_tokenizer.lex' '*/*.h' -o $LCOV_INFO
|
|
genhtml --prefix . --ignore-errors source $LCOV_INFO --legend --title "$*" --output-directory=lcov
|
|
|
|
xdg-open lcov/index.html
|