aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2020-05-16 06:14:42 -0400
committerMarcoFalke <falke.marco@gmail.com>2020-05-16 06:14:45 -0400
commit5a454d78825f7ff7efaa52eddf8eb1503931b64f (patch)
tree6393235364cb8dd040ee3c41e2ef251c214a50be
parent951870807ea28e05cf074e364e1b55e985ab9f6d (diff)
parent8d306862ef077f2a71931372dd6a2efa05188c84 (diff)
Merge #18634: ci: Add fuzzbuzz integration configuration file
8d306862ef077f2a71931372dd6a2efa05188c84 ci: Add fuzzbuzz integration (practicalswift) Pull request description: Add fuzzbuzz integration. Just like #15338 enabled optional FreeBSD building via Cirrus CI (`.cirrus.yml`) this PR adds optional fuzzing via fuzzbuzz (`.fuzzbuzz.yml`). Having this merged makes is easier for people to fuzz Bitcoin Core (via their forked repos) using their fuzzbuzz account and then hopefully submit coverage increasing corpus additions upstreams to to https://github.com/bitcoin-core/qa-assets. Historically it has been mostly been me and MarcoFalke who submit test cases to `qa-assets`, but with this change hopefully more people will join the hunt for coverage increasing fuzzing inputs :) Top commit has no ACKs. Tree-SHA512: c7d8e354996c673da36cc9add260383c82a5325bfaa7ce6141ad6cd6b7d6adf3a6c900ea2db17fb70147b3625fa7f6a1ff8ba813aeaa299f316d8f6cabb3a65c
-rw-r--r--.fuzzbuzz.yml16
1 files changed, 16 insertions, 0 deletions
diff --git a/.fuzzbuzz.yml b/.fuzzbuzz.yml
new file mode 100644
index 0000000000..d44ac27eb9
--- /dev/null
+++ b/.fuzzbuzz.yml
@@ -0,0 +1,16 @@
+base: ubuntu:16.04
+language: c++
+engine: libFuzzer
+environment:
+ - CXXFLAGS=-fcoverage-mapping -fno-omit-frame-pointer -fprofile-instr-generate -gline-tables-only -O1
+setup:
+ - sudo apt-get update
+ - sudo apt-get install -y autoconf bsdmainutils clang git libboost-all-dev libboost-program-options-dev libc++1 libc++abi1 libc++abi-dev libc++-dev libclang1 libclang-dev libdb5.3++ libevent-dev libllvm-ocaml-dev libomp5 libomp-dev libprotobuf-dev libqt5core5a libqt5dbus5 libqt5gui5 libssl-dev libtool llvm llvm-dev llvm-runtime pkg-config protobuf-compiler qttools5-dev qttools5-dev-tools software-properties-common
+ - ./autogen.sh
+ - CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
+ - make
+ - git clone https://github.com/bitcoin-core/qa-assets
+auto_targets:
+ find_targets_command: find src/test/fuzz/ -executable -type f ! -name "*.cpp" ! -name "*.h"
+ base_corpus_dir: qa-assets/fuzz_seed_corpus/
+ memory_limit: none