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
Lint
Lint Not Applicable
Unit
Tests Not Applicable