Page MenuHomePhabricator

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

Authored by PiRK on Mon, Nov 6, 15:25.



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

Test Plan

pytest electrum/electrumabc/tests/regtest

Diff Detail

rABC Bitcoin ABC
Lint Not Applicable
Tests Not Applicable