Merge bitcoin/bitcoin#25312: test: Fix port collisions caused by p2p_getaddr_caching.py

ea54ba2f42 [test] Fix port collisions caused by p2p_getaddr_caching.py (dergoegge)
f9682e75ac [test_framework] Set PortSeed.n directly after initialising params (dergoegge)

Pull request description:

  This PR fixes the issue mentioned [here](https://github.com/bitcoin/bitcoin/pull/25096#discussion_r892558783), to avoid port collisions between nodes spun up by the test framework.

Top commit has no ACKs.

Tree-SHA512: ec9159f0af90db636f7889d664c24e1430cf2bcb3c02a9ab2dcfe531b2a4d18f6e3a0f8ba73071bdf2f7db518df9d5d86a9cd06695e67644d20fe4515fac32b7
This commit is contained in:
MacroFake 2022-06-10 12:37:19 +02:00
commit c3daa321f9
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548
2 changed files with 6 additions and 8 deletions

View File

@ -14,8 +14,7 @@ from test_framework.p2p import (
from test_framework.test_framework import BitcoinTestFramework
from test_framework.util import (
assert_equal,
PORT_MIN,
PORT_RANGE,
p2p_port,
)
# As defined in net_processing.
@ -44,10 +43,9 @@ class AddrReceiver(P2PInterface):
class AddrTest(BitcoinTestFramework):
def set_test_params(self):
self.num_nodes = 1
# Start onion ports after p2p and rpc ports.
port = PORT_MIN + 2 * PORT_RANGE
self.onion_port1 = port
self.onion_port2 = port + 1
# Use some of the remaining p2p ports for the onion binds.
self.onion_port1 = p2p_port(1)
self.onion_port2 = p2p_port(2)
self.extra_args = [
[f"-bind=127.0.0.1:{self.onion_port1}=onion", f"-bind=127.0.0.1:{self.onion_port2}=onion"],
]

View File

@ -223,11 +223,11 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
# It still needs to exist and be None in order for tests to work however.
self.options.descriptors = None
PortSeed.n = self.options.port_seed
def setup(self):
"""Call this method to start up the test framework object with options set."""
PortSeed.n = self.options.port_seed
check_json_precision()
self.options.cachedir = os.path.abspath(self.options.cachedir)