@@ -68,23 +68,27 @@ def run_test(self):
68
68
69
69
with self .nodes [0 ].assert_debug_log (['Unsupported message "ping" prior to verack from peer=0' ]):
70
70
no_verack_node .send_message (msg_ping ())
71
- with self .nodes [0 ].assert_debug_log (['non-version message before version handshake. Message "ping" from peer=1' ]):
72
- no_version_node .send_message (msg_ping ())
73
71
74
- self .mock_forward (1 )
72
+ # With v2, non-version messages before the handshake would be interpreted as part of the key exchange.
73
+ # Therefore, don't execute this part of the test if v2transport is chosen.
74
+ if not self .options .v2transport :
75
+ with self .nodes [0 ].assert_debug_log (['non-version message before version handshake. Message "ping" from peer=1' ]):
76
+ no_version_node .send_message (msg_ping ())
75
77
78
+ self .mock_forward (1 )
76
79
assert "version" in no_verack_node .last_message
77
80
78
81
assert no_verack_node .is_connected
79
82
assert no_version_node .is_connected
80
83
assert no_send_node .is_connected
81
84
82
85
no_verack_node .send_message (msg_ping ())
83
- no_version_node .send_message (msg_ping ())
86
+ if not self .options .v2transport :
87
+ no_version_node .send_message (msg_ping ())
84
88
85
89
expected_timeout_logs = [
86
90
"version handshake timeout peer=0" ,
87
- "socket no message in first 3 seconds, 1 0 peer=1" ,
91
+ f "socket no message in first 3 seconds, { '0' if self . options . v2transport else '1' } 0 peer=1" ,
88
92
"socket no message in first 3 seconds, 0 0 peer=2" ,
89
93
]
90
94
@@ -100,5 +104,6 @@ def run_test(self):
100
104
extra_args = ['-peertimeout=0' ],
101
105
)
102
106
107
+
103
108
if __name__ == '__main__' :
104
109
TimeoutsTest ().main ()
0 commit comments