HomePhabricator

Fix a flakiness in abc_p2p_avalanche_proof_voting

Description

Fix a flakiness in abc_p2p_avalanche_proof_voting

Summary:
The poll_tests case is checking for the polling event with various cooldown and conflict conditions. But the previous case can sometimes interfere with the later one, because send_and_check_for_polling keeps voting on the previously sent proof (and they are always accepted). This can cause one of the 2 things:

    • An initially rejected proof turns accepted, resetting the confict cooldown
  • A proof got finalized, triggering the peer replacement cooldown

This diff makes sure we have full control over the state at each step in the test to prevent both potential issues.

Test Plan:

for i in {1..10}; do ./test/functional/test_runner.py abc_p2p_avalanche_proof_voting || break; done

Reviewers: #bitcoin_abc, PiRK

Reviewed By: #bitcoin_abc, PiRK

Differential Revision: https://reviews.bitcoinabc.org/D13226

Details

Provenance
FabienAuthored on Mar 2 2023, 20:26
teamcityPushed on Mar 3 2023, 08:21
Parents
rSTAGINGf363d342d2bc: [avalanche] Do not poll avalanche invalidated blocks more than once
Branches
Unknown
Tags
Unknown

Event Timeline