15
15
runs-on : ubuntu-latest
16
16
env :
17
17
allfuzzers : parser dump
18
+ artifactsprefix : -artifact_prefix=fuzzfailure/
18
19
steps :
19
20
- name : Install packages necessary for building
20
21
run : |
44
45
- name : Verify that the oss-fuzz seed corpus passes without problems
45
46
run : |
46
47
mkdir seedcorpus
47
- unzip -d seedcorpus seed_corpus.zip
48
+ unzip -q - d seedcorpus seed_corpus.zip
48
49
for buildvariant in noavx withavx; do
49
50
for fuzzer in $allfuzzers; do
50
51
build-ossfuzz-$buildvariant/fuzz/fuzz_$fuzzer seedcorpus -max_total_time=1
@@ -54,17 +55,27 @@ jobs:
54
55
run : |
55
56
for fuzzer in $allfuzzers; do
56
57
mkdir -p out/$fuzzer # in case this is a new fuzzer, or corpus.tar is broken
57
- build-ossfuzz-fast8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=30
58
+ build-ossfuzz-fast8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=30 $artifactsprefix || touch failed
59
+ # make sure the failing output is visible in the log
60
+ if [ -e failed ] ; then
61
+ ls fuzzfailure/* |xargs -n1 base64
62
+ exit 1
63
+ fi
58
64
done
59
65
- name : Run the other fuzzer variants for $fuzzer, with sanitizers etc
60
66
run : |
61
67
for fuzzer in $allfuzzers; do
62
- build-ossfuzz-withavx/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=20
63
- build-ossfuzz-noavx/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10
64
- build-ossfuzz-noavx8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10
68
+ build-ossfuzz-withavx/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=20 $artifactsprefix || touch failed
69
+ build-ossfuzz-noavx/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10 $artifactsprefix || touch failed
70
+ build-ossfuzz-noavx8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10 $artifactsprefix || touch failed
71
+ if [ -e failed ] ; then
72
+ # make sure the failing output is visible in the log
73
+ ls fuzzfailure/* |xargs -n1 base64
74
+ exit 1
75
+ fi
65
76
echo disable msan runs, it fails inside the fuzzing engine and not the fuzzed code!
66
- echo build-ossfuzz-msan-noavx8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10 -reload=0
67
- echo build-ossfuzz-msan-withavx8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10 -reload=0
77
+ echo build-ossfuzz-msan-noavx8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10 -reload=0 $artifactsprefix
78
+ echo build-ossfuzz-msan-withavx8/fuzz/fuzz_$fuzzer out/$fuzzer -max_total_time=10 -reload=0 $artifactsprefix
68
79
echo now have $(ls out/$fuzzer |wc -l) files in corpus
69
80
done
70
81
- name : Minimize the corpus with the fast fuzzer
0 commit comments