Page MenuHomePhabricator

[chronik] Consistently sync the validation queue in functional tests
ClosedPublic

Authored by Fabien on Wed, Feb 19, 09:07.

Details

Summary

In several places in chronik tests, a peer send a block to the node and waits for the node to catch up before calling chronik. This is racy because it doesn't guarantee that the validation callbacks ran and chronik might not be synced yet. Fix this by consistently syncing the validation queue in these cases.
There are likely other similar edge cases but this should avoid most of the random (and rare) failures due to this race condition.

Test Plan
./test/functional/test_runner.py chronik_*

Diff Detail

Repository
rABC Bitcoin ABC
Branch
chronik_sync_validation_interface_queue
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32414
Build 64317: Build Diffbuild-without-wallet · build-debug · build-clang · build-clang-tidy · build-diff
Build 64316: arc lint + arc unit