diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -413,7 +413,8 @@ # Create cache directories, run bitcoinds: for i in range(MAX_NODES): - datadir = initialize_datadir(self.options.cachedir, i) + datadir = initialize_datadir( + self.options.cachedir, i, p2p_port(i), rpc_port(i)) args = [os.getenv("BITCOIND", "bitcoind"), "-server", "-keypool=1", "-datadir=" + datadir, "-discover=0"] if i > 0: @@ -460,7 +461,8 @@ to_dir = os.path.join(self.options.tmpdir, "node" + str(i)) shutil.copytree(from_dir, to_dir) # Overwrite port/rpcport in bitcoin.conf - initialize_datadir(self.options.tmpdir, i) + initialize_datadir(self.options.tmpdir, i, + p2p_port(i), rpc_port(i)) def _initialize_chain_clean(self): """Initialize empty blockchain for use by the test. @@ -468,7 +470,8 @@ Create an empty blockchain and num_nodes wallets. Useful if a test case wants complete control over initialization.""" for i in range(self.num_nodes): - initialize_datadir(self.options.tmpdir, i) + initialize_datadir(self.options.tmpdir, i, + p2p_port(i), rpc_port(i)) class ComparisonTestFramework(BitcoinTestFramework): diff --git a/test/functional/test_framework/util.py b/test/functional/test_framework/util.py --- a/test/functional/test_framework/util.py +++ b/test/functional/test_framework/util.py @@ -326,14 +326,14 @@ ################ -def initialize_datadir(dirname, n): +def initialize_datadir(dirname, n, p2p_port, rpc_port): datadir = os.path.join(dirname, "node" + str(n)) if not os.path.isdir(datadir): os.makedirs(datadir) with open(os.path.join(datadir, "bitcoin.conf"), 'w', encoding='utf8') as f: f.write("regtest=1\n") - f.write("port=" + str(p2p_port(n)) + "\n") - f.write("rpcport=" + str(rpc_port(n)) + "\n") + f.write("port=" + str(p2p_port) + "\n") + f.write("rpcport=" + str(rpc_port) + "\n") f.write("listenonion=0\n") f.write("usecashaddr=1\n") return datadir