aboutsummaryrefslogtreecommitdiff
path: root/test/functional/p2p_timeouts.py
diff options
context:
space:
mode:
authorMartin Zumsande <mzumsande@gmail.com>2023-11-06 15:07:45 -0500
committerMartin Zumsande <mzumsande@gmail.com>2023-11-08 17:34:50 -0500
commit35fb9930adb3501b29d3ad20d2e74c0114f2bcbe (patch)
tree775edc5d093691cb40d65a0ae9951207f10c81fc /test/functional/p2p_timeouts.py
parent2c1669c37a9759e15ff5f4e340aeaa8778a81b9a (diff)
downloadbitcoin-35fb9930adb3501b29d3ad20d2e74c0114f2bcbe.tar.xz
test: enable v2 transport for p2p_timeouts.py
by skipping the part where we send a non-version message before the version - this message would be interpreted as part of the v2 handshake.
Diffstat (limited to 'test/functional/p2p_timeouts.py')
-rwxr-xr-xtest/functional/p2p_timeouts.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/test/functional/p2p_timeouts.py b/test/functional/p2p_timeouts.py
index a308577c02..b4fa5099d8 100755
--- a/test/functional/p2p_timeouts.py
+++ b/test/functional/p2p_timeouts.py
@@ -68,11 +68,14 @@ class TimeoutsTest(BitcoinTestFramework):
with self.nodes[0].assert_debug_log(['Unsupported message "ping" prior to verack from peer=0']):
no_verack_node.send_message(msg_ping())
- with self.nodes[0].assert_debug_log(['non-version message before version handshake. Message "ping" from peer=1']):
- no_version_node.send_message(msg_ping())
- self.mock_forward(1)
+ # With v2, non-version messages before the handshake would be interpreted as part of the key exchange.
+ # Therefore, don't execute this part of the test if v2transport is chosen.
+ if not self.options.v2transport:
+ with self.nodes[0].assert_debug_log(['non-version message before version handshake. Message "ping" from peer=1']):
+ no_version_node.send_message(msg_ping())
+ self.mock_forward(1)
assert "version" in no_verack_node.last_message
assert no_verack_node.is_connected
@@ -80,11 +83,12 @@ class TimeoutsTest(BitcoinTestFramework):
assert no_send_node.is_connected
no_verack_node.send_message(msg_ping())
- no_version_node.send_message(msg_ping())
+ if not self.options.v2transport:
+ no_version_node.send_message(msg_ping())
expected_timeout_logs = [
"version handshake timeout peer=0",
- "socket no message in first 3 seconds, 1 0 peer=1",
+ f"socket no message in first 3 seconds, {'0' if self.options.v2transport else '1'} 0 peer=1",
"socket no message in first 3 seconds, 0 0 peer=2",
]
@@ -100,5 +104,6 @@ class TimeoutsTest(BitcoinTestFramework):
extra_args=['-peertimeout=0'],
)
+
if __name__ == '__main__':
TimeoutsTest().main()