HomePhabricator

[electrum] regtest: fix fulcrum stats query and raise timeout error in…

Description

[electrum] regtest: fix fulcrum stats query and raise timeout error in poll_for_answer

Summary:
Without this error, poll_for_answer would just continue execution, now it will fail the test if a response is not received.

The previous behavior caused the tests to not fail when the fulcrum stats reply for the number of transactions was wrong, which has been the case since we changed the scope of the fulcrum_service fixture from "session" to "function" in D14293. This is because the bitcoind docker is shared between all tests, so new tests mining blocks or sending transactions affect the following tests, and after D14293 the number of transactions was checked (unsuccesfully) for each new tests.

Move the TxNum test to the bitcoind fixture's init, and use another stat that does not change between tests ("Controller.Chain") to check for the fulcrum service's responsiveness.

This is a partial backport of electroncash#2721
https://github.com/Electron-Cash/Electron-Cash/pull/2721/commits/5576d8aa6cf4c8644c283f57ef359dbe275a9e96

Test Plan: pytest electrum/electrumabc/tests/regtest

Reviewers: #bitcoin_abc, bytesofman

Reviewed By: #bitcoin_abc, bytesofman

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

Details

Provenance
PiRKAuthored on Nov 6 2023, 15:16
PiRKPushed on Nov 7 2023, 09:59
Reviewer
Restricted Project
Differential Revision
D14742: [electrum] regtest: fix fulcrum stats query and raise timeout error in poll_for_answer
Parents
rABCfe4ecfd0250f: [net processing] remove proof_relay parameter from Peer ctor
Branches
Unknown
Tags
Unknown