Go coverage : use gofuzz tag by default (#5425)

as is done by gofuzz build
This commit is contained in:
Catena cyber 2021-03-17 15:42:12 +01:00 committed by GitHub
parent e71e49d721
commit 8b15e28751
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -18,7 +18,7 @@
path=$1
function=$2
fuzzer=$3
tags=""
tags="-tags gofuzz"
if [[ $# -eq 4 ]]; then
tags="-tags $4"
fi
@ -43,8 +43,9 @@ if [[ $SANITIZER = *coverage* ]]; then
sed -i -e 's/TestFuzzCorpus/Test'$function'Corpus/' ./"${function,,}"_test.go
fuzzed_repo=`echo $path | cut -d/ -f-3`
abspath_repo=`go list -m $tags -f {{.Dir}} $fuzzed_repo || go list $tags -f {{.Dir}} $fuzzed_repo`
# give equivalence to absolute paths in another file, as go test -cover uses golangish pkg.Dir
echo "s=$fuzzed_repo"=`go list $tags -f {{.Dir}} $fuzzed_repo`= > $OUT/$fuzzer.gocovpath
echo "s=$fuzzed_repo"="$abspath_repo$"= > $OUT/$fuzzer.gocovpath
go test -run Test${function}Corpus -v $tags -coverpkg $fuzzed_repo/... -c -o $OUT/$fuzzer $path
else
# Compile and instrument all Go files relevant to this fuzz target.