mirror of https://github.com/prometheus/prometheus
Julien Pivotto
4 years ago
3 changed files with 0 additions and 57 deletions
@ -1,30 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
set -xe |
|
||||||
|
|
||||||
# Go-fuzz doesn't support modules yet, so ensure we do everything in the old style GOPATH way |
|
||||||
export GO111MODULE="off" |
|
||||||
|
|
||||||
# Install go-fuzz |
|
||||||
go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-build |
|
||||||
|
|
||||||
# Target names on fuzzit.dev |
|
||||||
TARGETS=("promql-parse-metric" "promql-parse-open-metric" "promql-parse-metric-selector" "promql-parse-expr") |
|
||||||
|
|
||||||
# Prometheus fuzz functions |
|
||||||
FUZZ_FUNCTIONS=("FuzzParseMetric" "FuzzParseOpenMetric" "FuzzParseMetricSelector" "FuzzParseExpr") |
|
||||||
|
|
||||||
# Compiling prometheus fuzz targets in fuzz.go with go-fuzz (https://github.com/dvyukov/go-fuzz) and libFuzzer support |
|
||||||
for ((i=0;i<${#TARGETS[@]};++i)); |
|
||||||
do |
|
||||||
go-fuzz-build -libfuzzer -func ${FUZZ_FUNCTIONS[i]} -o ${TARGETS[i]}.a ./promql |
|
||||||
clang-9 -fsanitize=fuzzer ${TARGETS[i]}.a -o ${TARGETS[i]} |
|
||||||
done |
|
||||||
|
|
||||||
# Install fuzzit CLI |
|
||||||
wget -q -O fuzzit https://github.com/fuzzitdev/fuzzit/releases/download/v2.4.45/fuzzit_Linux_x86_64 |
|
||||||
chmod a+x fuzzit |
|
||||||
|
|
||||||
for TARGET in "${TARGETS[@]}" |
|
||||||
do |
|
||||||
./fuzzit create job --type $1 prometheus/${TARGET} ${TARGET} |
|
||||||
done |
|
Loading…
Reference in new issue