mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-12 16:45:40 +01:00
faa3ce3199fuzz: Avoid influence on the global RNG from peerman m_rng (MarcoFalke)faf4c1b6fcfuzz: Disable unused validation interface and scheduler in p2p_headers_presync (MarcoFalke)fafaca6cbcfuzz: Avoid setting the mock-time twice (MarcoFalke)fad22149f4refactor: Use MockableSteadyClock in ReportHeadersPresync (MarcoFalke)fa9c38794etest: Introduce MockableSteadyClock::mock_time_point and ElapseSteady helper (MarcoFalke)faf2d512c5fuzz: Move global node id counter along with other global state (MarcoFalke)fa98455e4bfuzz: Set ignore_incoming_txs in p2p_headers_presync (MarcoFalke)faf2e238fbfuzz: Shuffle files before testing them (MarcoFalke) Pull request description: This should make the `p2p_headers_presync` fuzz target more deterministic. Tracking issue: https://github.com/bitcoin/bitcoin/issues/29018. The first commits adds an `ElapseSteady` helper and type aliases. The second commit uses those helpers in `ReportHeadersPresync` and in the fuzz target to increase determinism. ### Testing It can be tested via (setting 32 parallel threads): ``` cargo run --manifest-path ./contrib/devtools/deterministic-fuzz-coverage/Cargo.toml -- $PWD/bld-cmake/ $PWD/../b-c-qa-assets/fuzz_corpora/ p2p_headers_presync 32 ``` The failing diff is contained in the commit messages, if applicable. ACKs for top commit: Crypt-iQ: tACKfaa3ce3199janb84: Re-ACK [faa3ce3](faa3ce3199) marcofleon: ACKfaa3ce3199Tree-SHA512: 7e2e0ddf3b4e818300373d6906384df57a87f1eeb507fa43de1ba88cf03c8e6752a26b6e91bfb3ee26a21efcaf1d0d9eaf70d311d1637b671965ef4cb96e6b59