aboutsummaryrefslogtreecommitdiff
path: root/infra/base-images/base-runner/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'infra/base-images/base-runner/coverage')
-rwxr-xr-xinfra/base-images/base-runner/coverage12
1 files changed, 7 insertions, 5 deletions
diff --git a/infra/base-images/base-runner/coverage b/infra/base-images/base-runner/coverage
index 2fcf9e977..a86b00dec 100755
--- a/infra/base-images/base-runner/coverage
+++ b/infra/base-images/base-runner/coverage
@@ -114,13 +114,15 @@ function run_fuzz_target {
function run_go_fuzz_target {
local target=$1
- cd $GOPATH/src
echo "Running go target $target"
export FUZZ_CORPUS_DIR="/corpus/${target}/"
export FUZZ_PROFILE_NAME="$DUMPS_DIR/$target.perf"
- bash $OUT/$target $DUMPS_DIR/$target.profdata &> $LOGS_DIR/$target.log
+ $OUT/$target -test.coverprofile $DUMPS_DIR/$target.profdata &> $LOGS_DIR/$target.log
+ # translate from golangish paths to current absolute paths
+ cat $OUT/$target.gocovpath | while read i; do sed -i $i $DUMPS_DIR/$target.profdata; done
+ # cf PATH_EQUIVALENCE_ARGS
+ sed -i 's=/='$OUT'/=' $DUMPS_DIR/$target.profdata
$SYSGOPATH/bin/gocovsum $DUMPS_DIR/$target.profdata > $FUZZER_STATS_DIR/$target.json
- cd $OUT
}
export SYSGOPATH=$GOPATH
@@ -131,7 +133,7 @@ for fuzz_target in $FUZZ_TARGETS; do
if [[ $FUZZING_LANGUAGE == "go" ]]; then
# Continue if not a fuzz target.
if [[ $FUZZING_ENGINE != "none" ]]; then
- grep "go test -run" $fuzz_target > /dev/null 2>&1 || continue
+ grep "FUZZ_CORPUS_DIR" $fuzz_target > /dev/null 2>&1 || continue
fi
run_go_fuzz_target $fuzz_target &
else
@@ -193,7 +195,7 @@ else
# Generate HTML report.
llvm-cov show -format=html -output-dir=$REPORT_ROOT_DIR \
- -Xdemangler c++filt -Xdemangler -n $LLVM_COV_ARGS
+ -Xdemangler rcfilt $LLVM_COV_ARGS
# Export coverage summary in JSON format.
llvm-cov export -summary-only $LLVM_COV_ARGS > $SUMMARY_FILE