Page MenuHomePhabricator

Fix a flakiness in abc_p2p_avalanche_proof_voting
ClosedPublic

Authored by Fabien on Mar 2 2023, 20:29.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Commits
rABC2b1b8600d88d: 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

Diff Detail

Repository
rABC Bitcoin ABC
Branch
avalanche_proof_voting_flakiness
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22224
Build 44083: Build Diffbuild-debug · build-clang-tidy · build-without-wallet · build-diff · build-clang
Build 44082: arc lint + arc unit