mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-05-03 02:08:58 +02:00
Merge bitcoin/bitcoin#23373: test: Parse command line arguments from unit and fuzz tests, make addrman consistency check ratio easier to change
7f122a4188fuzz: non-addrman fuzz tests: override-able check ratio (Vasil Dimov)3bd83e273dfuzz: addrman fuzz tests: override-able check ratio (Vasil Dimov)46b0fe7829test: non-addrman unit tests: override-able check ratio (Vasil Dimov)81e4d54d3atest: addrman unit tests: override-able check ratio (Vasil Dimov)6dff6214bebench: put addrman check ratio in a variable (Vasil Dimov)6f7c7567c5fuzz: parse the command line arguments in fuzz tests (Vasil Dimov)92a0f7e58dtest: parse the command line arguments in unit tests (Vasil Dimov) Pull request description: Previously command line arguments passed to unit and fuzz tests would be ignored by the tests themselves. They would be used by the boost test framework (e.g. `--run_test="addrman_tests/*"`) or by the fuzzer (e.g. `-runs=1`). However both provide ways to pass down the extra arguments to the test itself. Use that, parse the arguments and make them available to the tests via `gArgs`. This makes the tests more flexible as they can be run with any bitcoind config option specified on the command line. When creating `AddrMan` objects in tests, use `-checkaddrman=` (if provided) instead of hardcoding the check ratio in many different places. See https://github.com/bitcoin/bitcoin/pull/20233#issuecomment-889813074 for further motivation for this. ACKs for top commit: mzumsande: re-ACK7f122a4188josibake: reACK7f122a4188Tree-SHA512: 3a05e61e4d70a0569bb67594bcce3aad8fdef63cdcc54e2823a3bc9f18679571985004412b6c332a210f67849bab32d8467b4115fbff8f5fac9834982e60dcf3
This commit is contained in:
@@ -71,6 +71,15 @@ block^@M-^?M-^?M-^?M-^?M-^?nM-^?M-^?
|
||||
|
||||
In this case the fuzzer managed to create a `block` message which when passed to `ProcessMessage(...)` increased coverage.
|
||||
|
||||
It is possible to specify `bitcoind` arguments to the `fuzz` executable.
|
||||
Depending on the test, they may be ignored or consumed and alter the behavior
|
||||
of the test. Just make sure to use double-dash to distinguish them from the
|
||||
fuzzer's own arguments:
|
||||
|
||||
```sh
|
||||
$ FUZZ=address_deserialize_v2 src/test/fuzz/fuzz -runs=1 fuzz_seed_corpus/address_deserialize_v2 --checkaddrman=5 --printtoconsole=1
|
||||
```
|
||||
|
||||
## Fuzzing corpora
|
||||
|
||||
The project's collection of seed corpora is found in the [`bitcoin-core/qa-assets`](https://github.com/bitcoin-core/qa-assets) repo.
|
||||
|
||||
Reference in New Issue
Block a user