test: fix intermittent failures with test=addrman

The nKey of the addrman is generated the first time the node is
started. Therefore, restarting a node or turning it off and on
again won't make a previously non-deterministic addrman
deterministic.

Co-authored-by: 0xb10c <b10c@b10c.me>
This commit is contained in:
Martin Zumsande 2024-03-12 14:00:23 -04:00
parent bde3db40f6
commit 432a542e27
2 changed files with 5 additions and 2 deletions

View file

@ -39,7 +39,8 @@ def expected_messages(filename):
class AsmapTest(BitcoinTestFramework): class AsmapTest(BitcoinTestFramework):
def set_test_params(self): def set_test_params(self):
self.num_nodes = 1 self.num_nodes = 1
self.extra_args = [["-checkaddrman=1"]] # Do addrman checks on all operations. # Do addrman checks on all operations and use deterministic addrman
self.extra_args = [["-checkaddrman=1", "-test=addrman"]]
def fill_addrman(self, node_id): def fill_addrman(self, node_id):
"""Add 2 tried addresses to the addrman, followed by 2 new addresses.""" """Add 2 tried addresses to the addrman, followed by 2 new addresses."""

View file

@ -319,7 +319,9 @@ class NetTest(BitcoinTestFramework):
def test_addpeeraddress(self): def test_addpeeraddress(self):
self.log.info("Test addpeeraddress") self.log.info("Test addpeeraddress")
self.restart_node(1, ["-checkaddrman=1", "-test=addrman"]) # The node has an existing, non-deterministic addrman from a previous test.
# Clear it to have a deterministic addrman.
self.restart_node(1, ["-checkaddrman=1", "-test=addrman"], clear_addrman=True)
node = self.nodes[1] node = self.nodes[1]
self.log.debug("Test that addpeerinfo is a hidden RPC") self.log.debug("Test that addpeerinfo is a hidden RPC")