comparison tests/test-fuzz-targets.t @ 40727:d9fc51f77cc5 stable

tests: sniff for libfuzzer actually being available in test-fuzz-targets.t When I upgraded the FreeBSD buildbot to 11.2 it seems we picked up clang6, but the default clang on FreeBSD doesn't include libfuzzer. I can't find a way to sniff for libfuzzer without running a compile, so here we are. Differential Revision: https://phab.mercurial-scm.org/D5270
author Augie Fackler <augie@google.com>
date Wed, 14 Nov 2018 10:12:43 -0500
parents 6c01fad8de32
children 39cab871e880
comparison
equal deleted inserted replaced
40726:6c01fad8de32 40727:d9fc51f77cc5
9 > MAKE=gmake 9 > MAKE=gmake
10 > else 10 > else
11 > MAKE=make 11 > MAKE=make
12 > fi 12 > fi
13 13
14 $ havefuzz() {
15 > cat > $TESTTMP/dummy.cc <<EOF
16 > #include <stdlib.h>
17 > #include <stdint.h>
18 > int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { return 0; }
19 > int main(int argc, char **argv) {
20 > const char data[] = "asdf";
21 > return LLVMFuzzerTestOneInput((const uint8_t *)data, 4);
22 > }
23 > EOF
24 > $CXX $TESTTMP/dummy.cc -o $TESTTMP/dummy \
25 > -fsanitize=fuzzer-no-link,address || return 1
26 > }
27
14 #if clang-libfuzzer 28 #if clang-libfuzzer
29 $ CXX=clang++ havefuzz || exit 80
15 $ $MAKE -s clean all 30 $ $MAKE -s clean all
16 #endif 31 #endif
17 #if no-clang-libfuzzer clang-6.0 32 #if no-clang-libfuzzer clang-6.0
33 $ CXX=clang++-6.0 havefuzz || exit 80
18 $ $MAKE -s clean all CC=clang-6.0 CXX=clang++-6.0 34 $ $MAKE -s clean all CC=clang-6.0 CXX=clang++-6.0
19 #endif 35 #endif
20 #if no-clang-libfuzzer no-clang-6.0 36 #if no-clang-libfuzzer no-clang-6.0
21 $ exit 80 37 $ exit 80
22 #endif 38 #endif