diff options
author | MarcoFalke <falke.marco@gmail.com> | 2020-05-16 06:14:42 -0400 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2020-05-16 06:14:45 -0400 |
commit | 5a454d78825f7ff7efaa52eddf8eb1503931b64f (patch) | |
tree | 6393235364cb8dd040ee3c41e2ef251c214a50be | |
parent | 951870807ea28e05cf074e364e1b55e985ab9f6d (diff) | |
parent | 8d306862ef077f2a71931372dd6a2efa05188c84 (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.yml | 16 |
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 |