Skip to content

Commit 23ccc58

Browse files
authored
Merge pull request rust-bitcoin#664 from RCasatta/fuzz_ci
Improve Fuzz CI
2 parents 454379c + 2bbf63c commit 23ccc58

File tree

304 files changed

+53
-277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

304 files changed

+53
-277
lines changed

.github/workflows/fuzz.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Fuzz
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
7+
fuzz:
8+
runs-on: ubuntu-20.04
9+
env:
10+
HFUZZ_BUILD_ARGS: "--features honggfuzz_fuzz"
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
fuzz_target: [deser_net_msg, deserialize_address, deserialize_amount, deserialize_block, deserialize_psbt, deserialize_script, deserialize_transaction, outpoint_string, uint128_fuzz]
15+
steps:
16+
- name: Install test dependencies
17+
run: sudo apt-get update -y && sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc libiberty-dev
18+
- uses: actions/checkout@v2
19+
- uses: actions/cache@v2
20+
id: cache-fuzz
21+
with:
22+
path: |
23+
~/.cargo/bin
24+
fuzz/target
25+
target
26+
key: cache-${{ matrix.target }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }}
27+
- uses: actions-rs/toolchain@v1
28+
with:
29+
toolchain: stable
30+
override: true
31+
profile: minimal
32+
- run: cargo install honggfuzz
33+
if: steps.cache-fuzz.outputs.cache-hit != 'true'
34+
- run: echo "HFUZZ_RUN_ARGS=\"--run_time 30 --exit_upon_crash -v -f hfuzz_input/${{ matrix.fuzz_target }}/input\"" >> $GITHUB_ENV
35+
- name: fuzz
36+
run: cd fuzz && cargo hfuzz run ${{ matrix.fuzz_target }}
37+
- run: echo "${{ matrix.fuzz_target }}.rs" >executed_${{ matrix.fuzz_target }}
38+
- uses: actions/upload-artifact@v2
39+
with:
40+
name: executed_${{ matrix.fuzz_target }}
41+
path: executed_${{ matrix.fuzz_target }}
42+
43+
verify-execution:
44+
needs: fuzz
45+
runs-on: ubuntu-latest
46+
steps:
47+
- uses: actions/checkout@v2
48+
- uses: actions/download-artifact@v2
49+
- name: Display structure of downloaded files
50+
run: ls -R
51+
- run: find executed_* -type f -exec cat {} + | sort > executed
52+
- run: ls fuzz/fuzz_targets | sort > expected
53+
- run: diff expected executed

.github/workflows/rust.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ jobs:
2020
DO_NO_STD: true
2121
- rust: nightly
2222
env:
23-
DO_FUZZ: true
2423
DO_BENCH: true
2524
AS_DEPENDENCY: true
2625
DO_NO_STD: true
@@ -29,8 +28,6 @@ jobs:
2928
AS_DEPENDENCY: true
3029
PIN_VERSIONS: true
3130
steps:
32-
- name: Install test dependencies
33-
run: sudo apt-get update -y && sudo apt-get install -y binutils-dev libunwind8-dev libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc libiberty-dev
3431
- name: Checkout Crate
3532
uses: actions/checkout@v2
3633
- name: Checkout Toolchain

fuzz/hfuzz_input/deserialize_decimal/input/2d32100000000000323d000000000000.00000002.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/467ad0f85000000078708ab670000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/51110622200000005266211140000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/57fd8d882850000078282d8da7800000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/70e4556ab8a8c7dcc2338dfa4891f4ae.000000a6.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/77ec8eda1dccae702efb36b0adf0e18f.00000165.honggfuzz.cov

Lines changed: 0 additions & 2 deletions
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000002_orig-0ee00000000000000ee0000000000000.00000001.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000008_orig-1e9b9cbf5c7959604b0d1c83097d1345.00001520.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000009_orig-20ae411d2fd000002ffd211e40800000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000012_orig-288e5e0e600000002e5e0e48a0000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000013_orig-2a4d69685000000078792d6a70000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000018_orig-397e6000000000002e59500000000000.00000002.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000020_orig-3cde6000000000002e5cf00000000000.00000002.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000021_orig-3cf00000000000003cf0000000000000.00000001.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000023_orig-47c000000000000047c0000000000000.00000001.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000024_orig-4e500000000000004e50000000000000.00000001.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000026_orig-53cfa000000000005ff3900000000000.00000002.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000027_orig-54c0ad00000000002d20d4e000000000.00000003.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000029_orig-57f82d882850000078282d8807800000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000031_orig-57fddbb82850000078287bbda7800000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000032_orig-5d2d2d5a700000002a2d2d2d70000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000037_orig-705e4e493e4e5e0e6f5e0e4e493e4e4a.00000008.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000040_orig-761f0bedebcfac240c2affec91115bfd.00000011.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000041_orig-77c36463d3da4ba27232b488be74d652.00000443.honggfuzz.cov

Lines changed: 0 additions & 4 deletions
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000042_orig-77d7557f54289c91e217b85d989facd8.00000018.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000044_orig-78500000000000007850000000000000.00000001.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000047_orig-7dc55518500000007865551df0000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000048_orig-7eedadd9a00e3b31fcb0884b16349723.00000014.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000049_orig-8d5ec8a00000000028ae6d5000000000.00000003.honggfuzz.cov

Lines changed: 0 additions & 2 deletions
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000057_orig-aebd22b8a4eaea84473de8f7af92b9e8.00000010.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000058_orig-bb2dbbbe28500000781e1b8d4b500000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000059_orig-bfff1b9d411fec33960462c7c10fff37.00000015.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000061_orig-c10ddce82b9fbc814168922cd0a8c702.00000cd9.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000067_orig-db66e14c0e5000004e2c61361b600000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000104_src-000000_op-havoc_rep-64

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000105_src-000000_op-havoc_rep-128

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000107_src-000001_op-flip1_pos-77

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000112_src-000001_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000114_src-000001_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000118_src-000001_op-havoc_rep-64

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000125_src-000006_op-havoc_rep-128

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000126_src-000008_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000128_src-000008_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000129_src-000008_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000130_src-000008_op-havoc_rep-128

Lines changed: 0 additions & 46 deletions
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000132_src-000008_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000135_src-000008_op-havoc_rep-16

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000137_src-000008_op-havoc_rep-2

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000138_src-000008_op-havoc_rep-2

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000139_src-000008_op-havoc_rep-128

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000141_src-000008_op-havoc_rep-2

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000145_src-000011_op-flip4_pos-4

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000146_src-000011_op-int8_pos-5_val-+32

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000147_src-000013_op-arith8_pos-3_val--21

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000150_src-000018_op-havoc_rep-64

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000160_src-000030_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000161_src-000036_op-flip1_pos-12

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000165_src-000043_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000168_src-000060_op-arith8_pos-544_val-+18

Lines changed: 0 additions & 2 deletions
This file was deleted.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000175_src-000061_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000176_src-000061_op-havoc_rep-2

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000181_src-000070_op-flip1_pos-2

Lines changed: 0 additions & 4 deletions
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000187_src-000070_op-flip1_pos-686

Lines changed: 0 additions & 4 deletions
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000189_src-000070_op-havoc_rep-32

Lines changed: 0 additions & 3 deletions
This file was deleted.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000199_src-000104_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000200_src-000110_op-havoc_rep-2

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000203_src-000114_op-havoc_rep-32

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000204_src-000114_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000207_src-000151_op-havoc_rep-2

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000212_src-000018_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000214_src-000025_op-arith8_pos-5_val--9

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000215_src-000067_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000223_src-000095_op-havoc_rep-128

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.

fuzz/hfuzz_input/deserialize_decimal/input/id-000226_src-000121_op-havoc_rep-64

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000227_src-000121_op-havoc_rep-16

Whitespace-only changes.

fuzz/hfuzz_input/deserialize_decimal/input/id-000228_src-000227_op-havoc_rep-4

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_decimal/input/id-000229_src-000227_op-havoc_rep-8

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.

fuzz/hfuzz_input/deserialize_udecimal/input/0ee00000000000000ee0000000000000.00000001.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/3e1e013000000000210e1e2000000000.00000003.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/4da14ef30de3322fc98aef037a303e0d.00000018.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/7c75552e500000004e65551c40000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/7d8828500000000078282df000000000.00000003.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/ecfae34af81663d62f734894509973be.0000001e.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000002_orig-004bbe1bbe5000004e1bbe1bf0000000.00000005.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000005_orig-0ac5552e500000004e65556af0000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000006_orig-0adbc000000000002bcaf00000000000.00000002.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000009_orig-134ec2407d3c5889df6cf9e04424cff3.000008d7.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000011_orig-20a0be0130000000210e00a080000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000012_orig-20be013000000000210e008000000000.00000003.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000014_orig-23d5552e500000004e655543e0000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000015_orig-2bb8500000000000787bc00000000000.00000002.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

fuzz/hfuzz_input/deserialize_udecimal/input/id-000016_orig-2bfd69685000000078792d6bc0000000.00000004.honggfuzz.cov

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)