@@ -150,7 +150,7 @@ def test_getpeerinfo(self):
150
150
"synced_blocks" : - 1 ,
151
151
"synced_headers" : - 1 ,
152
152
"timeoffset" : 0 ,
153
- "transport_protocol_type" : "v1" ,
153
+ "transport_protocol_type" : "v1" if not self . options . v2transport else "detecting" ,
154
154
"version" : 0 ,
155
155
},
156
156
)
@@ -160,19 +160,23 @@ def test_getpeerinfo(self):
160
160
def test_getnettotals (self ):
161
161
self .log .info ("Test getnettotals" )
162
162
# Test getnettotals and getpeerinfo by doing a ping. The bytes
163
- # sent/received should increase by at least the size of one ping (32
164
- # bytes) and one pong (32 bytes).
163
+ # sent/received should increase by at least the size of one ping
164
+ # and one pong. Both have a payload size of 8 bytes, but the total
165
+ # size depends on the used p2p version:
166
+ # - p2p v1: 24 bytes (header) + 8 bytes (payload) = 32 bytes
167
+ # - p2p v2: 21 bytes (header/tag with short-id) + 8 bytes (payload) = 29 bytes
168
+ ping_size = 32 if not self .options .v2transport else 29
165
169
net_totals_before = self .nodes [0 ].getnettotals ()
166
170
peer_info_before = self .nodes [0 ].getpeerinfo ()
167
171
168
172
self .nodes [0 ].ping ()
169
- self .wait_until (lambda : (self .nodes [0 ].getnettotals ()['totalbytessent' ] >= net_totals_before ['totalbytessent' ] + 32 * 2 ), timeout = 1 )
170
- self .wait_until (lambda : (self .nodes [0 ].getnettotals ()['totalbytesrecv' ] >= net_totals_before ['totalbytesrecv' ] + 32 * 2 ), timeout = 1 )
173
+ self .wait_until (lambda : (self .nodes [0 ].getnettotals ()['totalbytessent' ] >= net_totals_before ['totalbytessent' ] + ping_size * 2 ), timeout = 1 )
174
+ self .wait_until (lambda : (self .nodes [0 ].getnettotals ()['totalbytesrecv' ] >= net_totals_before ['totalbytesrecv' ] + ping_size * 2 ), timeout = 1 )
171
175
172
176
for peer_before in peer_info_before :
173
177
peer_after = lambda : next (p for p in self .nodes [0 ].getpeerinfo () if p ['id' ] == peer_before ['id' ])
174
- self .wait_until (lambda : peer_after ()['bytesrecv_per_msg' ].get ('pong' , 0 ) >= peer_before ['bytesrecv_per_msg' ].get ('pong' , 0 ) + 32 , timeout = 1 )
175
- self .wait_until (lambda : peer_after ()['bytessent_per_msg' ].get ('ping' , 0 ) >= peer_before ['bytessent_per_msg' ].get ('ping' , 0 ) + 32 , timeout = 1 )
178
+ self .wait_until (lambda : peer_after ()['bytesrecv_per_msg' ].get ('pong' , 0 ) >= peer_before ['bytesrecv_per_msg' ].get ('pong' , 0 ) + ping_size , timeout = 1 )
179
+ self .wait_until (lambda : peer_after ()['bytessent_per_msg' ].get ('ping' , 0 ) >= peer_before ['bytessent_per_msg' ].get ('ping' , 0 ) + ping_size , timeout = 1 )
176
180
177
181
def test_getnetworkinfo (self ):
178
182
self .log .info ("Test getnetworkinfo" )
@@ -342,7 +346,10 @@ def test_sendmsgtopeer(self):
342
346
node = self .nodes [0 ]
343
347
344
348
self .restart_node (0 )
345
- self .connect_nodes (0 , 1 )
349
+ # we want to use a p2p v1 connection here in order to ensure
350
+ # a peer id of zero (a downgrade from v2 to v1 would lead
351
+ # to an increase of the peer id)
352
+ self .connect_nodes (0 , 1 , peer_advertises_v2 = False )
346
353
347
354
self .log .info ("Test sendmsgtopeer" )
348
355
self .log .debug ("Send a valid message" )
0 commit comments