mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 11:32:46 +01:00
Merge bitcoin/bitcoin#26805: tests: Use unique port for ZMQ tests to allow for multiple test instances
c6119f478876f245ca5c65dd05da4cdc5be0e91f tests: Use unique port for ZMQ tests (Andrew Chow) Pull request description: The ZMQ interface tests should use unique ports as we do for the p2p and rpc ports so that multiple instances of the test can be run at the same time. Without this, the test may hang until killed, or fail. ACKs for top commit: MarcoFalke: ACK c6119f478876f245ca5c65dd05da4cdc5be0e91f Tree-SHA512: 2ca3ed2f35e5a83d7ab83740674fed362a8d146dc751156cfe100133a591347cd1ac9d164046f1744d65451a57c52cb22d3bb2161105f421f8f655c4a2512c59
This commit is contained in:
parent
66a3981a7a
commit
662302c42b
@ -16,6 +16,7 @@ from test_framework.messages import (
|
||||
from test_framework.util import (
|
||||
assert_equal,
|
||||
assert_raises_rpc_error,
|
||||
p2p_port,
|
||||
)
|
||||
from test_framework.netutil import test_ipv6_local
|
||||
from time import sleep
|
||||
@ -102,6 +103,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
# This test isn't testing txn relay/timing, so set whitelist on the
|
||||
# peers for instant txn relay. This speeds up the test run time 2-3x.
|
||||
self.extra_args = [["-whitelist=noban@127.0.0.1"]] * self.num_nodes
|
||||
self.zmq_port_base = p2p_port(self.num_nodes + 1)
|
||||
|
||||
def skip_test_if_missing_module(self):
|
||||
self.skip_if_no_py3_zmq()
|
||||
@ -177,7 +179,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
self.restart_node(0, ["-zmqpubrawtx=foo", "-zmqpubhashtx=bar"])
|
||||
self.zmq_context = zmq.Context()
|
||||
|
||||
address = 'tcp://127.0.0.1:28332'
|
||||
address = f"tcp://127.0.0.1:{self.zmq_port_base}"
|
||||
subs = self.setup_zmq_test([(topic, address) for topic in ["hashblock", "hashtx", "rawblock", "rawtx"]])
|
||||
|
||||
hashblock = subs[0]
|
||||
@ -248,7 +250,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
self.log.info("Skipping reorg test because wallet is disabled")
|
||||
return
|
||||
|
||||
address = 'tcp://127.0.0.1:28333'
|
||||
address = f"tcp://127.0.0.1:{self.zmq_port_base}"
|
||||
|
||||
# Should only notify the tip if a reorg occurs
|
||||
hashblock, hashtx = self.setup_zmq_test(
|
||||
@ -302,7 +304,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
<32-byte hash>A<8-byte LE uint> : Transactionhash added mempool
|
||||
"""
|
||||
self.log.info("Testing 'sequence' publisher")
|
||||
[seq] = self.setup_zmq_test([("sequence", "tcp://127.0.0.1:28333")])
|
||||
[seq] = self.setup_zmq_test([("sequence", f"tcp://127.0.0.1:{self.zmq_port_base}")])
|
||||
self.disconnect_nodes(0, 1)
|
||||
|
||||
# Mempool sequence number starts at 1
|
||||
@ -435,7 +437,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
return
|
||||
|
||||
self.log.info("Testing 'mempool sync' usage of sequence notifier")
|
||||
[seq] = self.setup_zmq_test([("sequence", "tcp://127.0.0.1:28333")])
|
||||
[seq] = self.setup_zmq_test([("sequence", f"tcp://127.0.0.1:{self.zmq_port_base}")])
|
||||
|
||||
# In-memory counter, should always start at 1
|
||||
next_mempool_seq = self.nodes[0].getrawmempool(mempool_sequence=True)["mempool_sequence"]
|
||||
@ -537,8 +539,8 @@ class ZMQTest (BitcoinTestFramework):
|
||||
# chain lengths on node0 and node1; for this test we only need node0, so
|
||||
# we can disable syncing blocks on the setup)
|
||||
subscribers = self.setup_zmq_test([
|
||||
("hashblock", "tcp://127.0.0.1:28334"),
|
||||
("hashblock", "tcp://127.0.0.1:28335"),
|
||||
("hashblock", f"tcp://127.0.0.1:{self.zmq_port_base + 1}"),
|
||||
("hashblock", f"tcp://127.0.0.1:{self.zmq_port_base + 2}"),
|
||||
], sync_blocks=False)
|
||||
|
||||
# Generate 1 block in nodes[0] and receive all notifications
|
||||
@ -555,7 +557,7 @@ class ZMQTest (BitcoinTestFramework):
|
||||
self.log.info("Testing IPv6")
|
||||
# Set up subscriber using IPv6 loopback address
|
||||
subscribers = self.setup_zmq_test([
|
||||
("hashblock", "tcp://[::1]:28332")
|
||||
("hashblock", f"tcp://[::1]:{self.zmq_port_base}")
|
||||
], ipv6=True)
|
||||
|
||||
# Generate 1 block in nodes[0]
|
||||
|
Loading…
Reference in New Issue
Block a user