22
22
from test_framework .util import (
23
23
assert_equal ,
24
24
assert_raises_rpc_error ,
25
+ p2p_port ,
25
26
)
26
27
from test_framework .wallet import (
27
28
MiniWallet ,
@@ -106,6 +107,7 @@ def set_test_params(self):
106
107
# This test isn't testing txn relay/timing, so set whitelist on the
107
108
# peers for instant txn relay. This speeds up the test run time 2-3x.
108
109
self .extra_args = [["-whitelist=noban@127.0.0.1" ]] * self .num_nodes
110
+ self .zmq_port_base = p2p_port (self .num_nodes + 1 )
109
111
110
112
def skip_test_if_missing_module (self ):
111
113
self .skip_if_no_py3_zmq ()
@@ -179,7 +181,7 @@ def test_basic(self):
179
181
# Invalid zmq arguments don't take down the node, see #17185.
180
182
self .restart_node (0 , ["-zmqpubrawtx=foo" , "-zmqpubhashtx=bar" ])
181
183
182
- address = ' tcp://127.0.0.1:28332'
184
+ address = f" tcp://127.0.0.1:{ self . zmq_port_base } "
183
185
subs = self .setup_zmq_test ([(topic , address ) for topic in ["hashblock" , "hashtx" , "rawblock" , "rawtx" ]])
184
186
185
187
hashblock = subs [0 ]
@@ -246,7 +248,7 @@ def test_basic(self):
246
248
247
249
def test_reorg (self ):
248
250
249
- address = ' tcp://127.0.0.1:28333'
251
+ address = f" tcp://127.0.0.1:{ self . zmq_port_base } "
250
252
251
253
# Should only notify the tip if a reorg occurs
252
254
hashblock , hashtx = self .setup_zmq_test (
@@ -300,7 +302,7 @@ def test_sequence(self):
300
302
<32-byte hash>A<8-byte LE uint> : Transactionhash added mempool
301
303
"""
302
304
self .log .info ("Testing 'sequence' publisher" )
303
- [seq ] = self .setup_zmq_test ([("sequence" , "tcp://127.0.0.1:28333 " )])
305
+ [seq ] = self .setup_zmq_test ([("sequence" , f "tcp://127.0.0.1:{ self . zmq_port_base } " )])
304
306
self .disconnect_nodes (0 , 1 )
305
307
306
308
# Mempool sequence number starts at 1
@@ -444,7 +446,7 @@ def test_mempool_sync(self):
444
446
"""
445
447
446
448
self .log .info ("Testing 'mempool sync' usage of sequence notifier" )
447
- [seq ] = self .setup_zmq_test ([("sequence" , "tcp://127.0.0.1:28333 " )])
449
+ [seq ] = self .setup_zmq_test ([("sequence" , f "tcp://127.0.0.1:{ self . zmq_port_base } " )])
448
450
449
451
# In-memory counter, should always start at 1
450
452
next_mempool_seq = self .nodes [0 ].getrawmempool (mempool_sequence = True )["mempool_sequence" ]
@@ -549,8 +551,8 @@ def test_multiple_interfaces(self):
549
551
# chain lengths on node0 and node1; for this test we only need node0, so
550
552
# we can disable syncing blocks on the setup)
551
553
subscribers = self .setup_zmq_test ([
552
- ("hashblock" , "tcp://127.0.0.1:28334 " ),
553
- ("hashblock" , "tcp://127.0.0.1:28335 " ),
554
+ ("hashblock" , f "tcp://127.0.0.1:{ self . zmq_port_base + 1 } " ),
555
+ ("hashblock" , f "tcp://127.0.0.1:{ self . zmq_port_base + 2 } " ),
554
556
], sync_blocks = False )
555
557
556
558
# Generate 1 block in nodes[0] and receive all notifications
@@ -567,7 +569,7 @@ def test_ipv6(self):
567
569
self .log .info ("Testing IPv6" )
568
570
# Set up subscriber using IPv6 loopback address
569
571
subscribers = self .setup_zmq_test ([
570
- ("hashblock" , "tcp://[::1]:28332 " )
572
+ ("hashblock" , f "tcp://[::1]:{ self . zmq_port_base } " )
571
573
], ipv6 = True )
572
574
573
575
# Generate 1 block in nodes[0]
0 commit comments