Skip to content

Commit 26598ed

Browse files
test: Clarify roles in outbound eviction comments
Some ambiguous uses of "we" referring to either the node or the peer are replaced with clearer phrasing. Also rephrase some comments for consistency and readability. Applies to all relevant outbound eviction tests in p2p_eviction_logic.py.
1 parent c43cc48 commit 26598ed

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

test/functional/p2p_outbound_eviction.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def test_outbound_eviction_unprotected(self):
5555
self.log.info("Test that the peer gets evicted")
5656
peer.wait_for_disconnect()
5757

58-
self.log.info("Create an outbound connection and send header but never catch up")
58+
self.log.info("Create an outbound connection and send header but the peer never catches up")
5959
# Mimic a node that just falls behind for long enough
6060
# This should also apply for a node doing IBD that does not catch up in time
6161
# Connect a peer and make it send us headers ending in our tip's parent
@@ -75,15 +75,15 @@ def test_outbound_eviction_unprotected(self):
7575
self.log.info("Create an outbound connection and keep lagging behind, but not too much")
7676
# Test that if the peer never catches up with our current tip, but it does with the
7777
# expected work that we set when setting the timer (that is, our tip at the time)
78-
# we do not disconnect the peer
78+
# the node does not disconnect the peer
7979
peer = node.add_outbound_p2p_connection(P2PInterface(), p2p_idx=0, connection_type="outbound-full-relay")
8080

8181
self.log.info("Mine a block so our peer starts lagging")
8282
prev_prev_hash = tip_header.hashPrevBlock
8383
best_block_hash = self.generateblock(node, output="raw(42)", transactions=[])["hash"]
8484
peer.sync_with_ping()
8585

86-
self.log.info("Keep catching up with the old tip and check that we are not evicted")
86+
self.log.info("The peer keeps catching up with the old tip; check that the node does not evict the peer")
8787
for i in range(10):
8888
# Generate an additional block so the peers is 2 blocks behind
8989
prev_header = from_hex(CBlockHeader(), node.getblockheader(best_block_hash, False))
@@ -96,21 +96,21 @@ def test_outbound_eviction_unprotected(self):
9696
node.setmocktime(cur_mock_time)
9797
peer.sync_with_ping()
9898

99-
# Wait until we get out last call (by receiving a getheaders)
99+
# Make the peer wait until it gets node's last call (by receiving a getheaders)
100100
peer.wait_for_getheaders(block_hash=prev_prev_hash)
101101

102-
# Send a header with the previous tip (so we go back to 1 block behind)
102+
# The peer sends a header with the previous tip (so the peer goes back to 1 block behind)
103103
peer.send_and_ping(msg_headers([prev_header]))
104104
prev_prev_hash = tip_header.hashPrevBlock
105105

106106
self.log.info("Create an outbound connection and take some time to catch up, but do it in time")
107107
# Check that if the peer manages to catch up within time, the timeouts are removed (and the peer is not disconnected)
108-
# We are reusing the peer from the previous case which already sent us a valid (but old) block and whose timer is ticking
108+
# We are reusing the peer from the previous case which already sent the node a valid (but old) block and whose timer is ticking
109109

110-
# Send an updated headers message matching our tip
110+
# Make the peer send an updated headers message matching our tip
111111
peer.send_and_ping(msg_headers([from_hex(CBlockHeader(), node.getblockheader(best_block_hash, False))]))
112112

113-
# Wait for long enough for the timeouts to have triggered and check that we are still connected
113+
# Wait for long enough for the timeouts to have triggered and check that the peer is still connected
114114
cur_mock_time += (CHAIN_SYNC_TIMEOUT + 1)
115115
node.setmocktime(cur_mock_time)
116116
peer.sync_with_ping()
@@ -123,8 +123,10 @@ def test_outbound_eviction_unprotected(self):
123123

124124
def test_outbound_eviction_protected(self):
125125
# This tests the eviction logic for **protected** outbound peers (that is, PeerManagerImpl::ConsiderEviction)
126-
# Outbound connections are flagged as protected as long as they have sent us a connecting block with at least as
127-
# much work as our current tip and we have enough empty protected_peers slots.
126+
# Outbound connections are flagged as protected if:
127+
# - The peer sends a connecting block with at least as much work as our current tip.
128+
# - There are still available slots in the node's protected_peers list.
129+
# This test ensures that such protected outbound peers are not disconnected even after chain sync and headers timeouts.
128130
node = self.nodes[0]
129131
cur_mock_time = node.mocktime
130132
tip_header = from_hex(CBlockHeader(), node.getblockheader(node.getbestblockhash(), False))
@@ -145,7 +147,7 @@ def test_outbound_eviction_protected(self):
145147
peer.wait_for_getheaders(block_hash=tip_header.hashPrevBlock)
146148
cur_mock_time += (HEADERS_RESPONSE_TIME + 1)
147149
node.setmocktime(cur_mock_time)
148-
self.log.info("Test that the node does not get evicted")
150+
self.log.info("Test that the peer does not get evicted")
149151
peer.sync_with_ping()
150152

151153
node.disconnect_p2ps()
@@ -205,7 +207,7 @@ def test_outbound_eviction_mixed(self):
205207

206208
cur_mock_time += (HEADERS_RESPONSE_TIME + 1)
207209
node.setmocktime(cur_mock_time)
208-
self.log.info("Check how none of the honest nor protected peers was evicted but all the misbehaving unprotected were")
210+
self.log.info("Check that none of the honest or protected peers were evicted, but all misbehaving unprotected peers were")
209211
for peer in protected_peers + honest_unprotected_peers:
210212
peer.sync_with_ping()
211213
for peer in misbehaving_unprotected_peers:

0 commit comments

Comments
 (0)