Skip to content

Commit ed9f547

Browse files
author
MarcoFalke
committed
Merge #20299: test: Fix intermittent rpc_net issue
fa2ecad test: Fix intermittent rpc_net issue (MarcoFalke) Pull request description: The test fails because getpeerinfo and getnettotals are not synchronised, so a `wait_until` is needed for each RPC (separately). Fixes https://cirrus-ci.com/task/4663366629195776?command=ci#L5034 ACKs for top commit: jnewbery: utACK fa2ecad Tree-SHA512: 5ea7128801aab8dbe3d9e6737545ff4ee770e4a9c5a2096ba2339a688424f1879ccba6bf8bcb219983acf86eb28af06fc629586613e7fe28aeffadd2c98633e8
2 parents 1209b6c + fa2ecad commit ed9f547

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

test/functional/rpc_net.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
from test_framework.util import (
2222
assert_approx,
2323
assert_equal,
24-
assert_greater_than_or_equal,
2524
assert_greater_than,
2625
assert_raises_rpc_error,
2726
p2p_port,
@@ -114,10 +113,10 @@ def test_getnettotals(self):
114113
self.wait_until(lambda: (self.nodes[0].getnettotals()['totalbytessent'] >= net_totals_before['totalbytessent'] + 32 * 2), timeout=1)
115114
self.wait_until(lambda: (self.nodes[0].getnettotals()['totalbytesrecv'] >= net_totals_before['totalbytesrecv'] + 32 * 2), timeout=1)
116115

117-
peer_info_after = self.nodes[0].getpeerinfo()
118-
for before, after in zip(peer_info_before, peer_info_after):
119-
assert_greater_than_or_equal(after['bytesrecv_per_msg'].get('pong', 0), before['bytesrecv_per_msg'].get('pong', 0) + 32)
120-
assert_greater_than_or_equal(after['bytessent_per_msg'].get('ping', 0), before['bytessent_per_msg'].get('ping', 0) + 32)
116+
for peer_before in peer_info_before:
117+
peer_after = lambda: next(p for p in self.nodes[0].getpeerinfo() if p['id'] == peer_before['id'])
118+
self.wait_until(lambda: peer_after()['bytesrecv_per_msg'].get('pong', 0) >= peer_before['bytesrecv_per_msg'].get('pong', 0) + 32, timeout=1)
119+
self.wait_until(lambda: peer_after()['bytessent_per_msg'].get('ping', 0) >= peer_before['bytessent_per_msg'].get('ping', 0) + 32, timeout=1)
121120

122121
def test_getnetworkinfo(self):
123122
self.log.info("Test getnetworkinfo")

0 commit comments

Comments
 (0)