Page MenuHomePhabricator

[avalanche] Fix flaky check for finalized proofs in abc_rpc_getavalancheinfo
ClosedPublic

Authored by sdulfari on Jul 28 2022, 16:58.

Details

Summary

Working off of D11802 so that we actually wait until the proofs are finalized
instead of using a flaky heuristic.

Test Plan
ninja
for I in {0..20} ; do ./test/functional/test_runner.py abc_rpc_getavalancheinfo ; done

Diff Detail

Repository
rABC Bitcoin ABC
Branch
fix-flaky-getavainfo
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 19748
Build 39215: Build Diffbuild-without-wallet · build-debug · build-diff · build-clang · build-clang-tidy
Build 39214: arc lint + arc unit

Event Timeline

Failed tests logs:

====== Bitcoin ABC functional tests: abc_p2p_compactproofs.py ======

------- Stdout: -------
2022-07-28T17:05:06.561000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20220728_170432/abc_p2p_compactproofs_7
2022-07-28T17:05:07.102000Z TestFramework (INFO): Check we send a getavaproofs message to our avalanche outbound peers
2022-07-28T17:05:09.457000Z TestFramework (INFO): Check we send periodic getavaproofs message to some of our peers
2022-07-28T17:06:10.237000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
            self.wait_until(lambda: count_outbounds_getavaproofs()
                            == outbounds_getavaproofs + 3)
'''
2022-07-28T17:06:10.237000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/abc_p2p_compactproofs.py", line 671, in run_test
    self.test_send_outbound_getavaproofs()
  File "/work/test/functional/abc_p2p_compactproofs.py", line 143, in test_send_outbound_getavaproofs
    self.wait_until(lambda: count_outbounds_getavaproofs()
  File "/work/test/functional/test_framework/test_framework.py", line 677, in wait_until
    timeout_factor=self.options.timeout_factor)
  File "/work/test/functional/test_framework/util.py", line 284, in wait_until_helper
    "Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
            self.wait_until(lambda: count_outbounds_getavaproofs()
                            == outbounds_getavaproofs + 3)
''' not true after 60.0 seconds
2022-07-28T17:06:10.288000Z TestFramework (INFO): Stopping nodes
2022-07-28T17:06:10.589000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20220728_170432/abc_p2p_compactproofs_7
2022-07-28T17:06:10.589000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20220728_170432/abc_p2p_compactproofs_7/test_framework.log
2022-07-28T17:06:10.590000Z TestFramework (ERROR): 
2022-07-28T17:06:10.590000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20220728_170432/abc_p2p_compactproofs_7' to consolidate all logs
2022-07-28T17:06:10.590000Z TestFramework (ERROR): 
2022-07-28T17:06:10.590000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2022-07-28T17:06:10.590000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2022-07-28T17:06:10.590000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: abc_p2p_compactproofs.py

Fabien added a subscriber: Fabien.
Fabien added inline comments.
test/functional/abc_rpc_getavalancheinfo.py
331

Nit: finalized or invalidated

This revision is now accepted and ready to land.Jul 29 2022, 12:37