diff --git a/test/functional/abandonconflict.py b/test/functional/abandonconflict.py --- a/test/functional/abandonconflict.py +++ b/test/functional/abandonconflict.py @@ -176,7 +176,7 @@ self.nodes[1].sendrawtransaction(signed["hex"]) self.nodes[1].generate(1) - connect_nodes(self.nodes[0], 1) + connect_nodes(self.nodes[0], self.nodes[1]) sync_blocks(self.nodes) # Verify that B and C's 10 BTC outputs are available for spending again because AB1 is now conflicted diff --git a/test/functional/bip68-sequence.py b/test/functional/bip68-sequence.py --- a/test/functional/bip68-sequence.py +++ b/test/functional/bip68-sequence.py @@ -448,7 +448,7 @@ # We have a block that has CSV activated, but we want to be at # the activation point, so we invalidate the tip. self.nodes[0].invalidateblock(self.nodes[0].getbestblockhash()) - connect_nodes(self.nodes[0], 1) + connect_nodes(self.nodes[0], self.nodes[1]) sync_blocks(self.nodes) # Use self.nodes[1] to test standardness relay policy diff --git a/test/functional/example_test.py b/test/functional/example_test.py --- a/test/functional/example_test.py +++ b/test/functional/example_test.py @@ -117,7 +117,7 @@ # In this test, we're not connecting node2 to node0 or node1. Calls to # sync_all() should not include node2, since we're not expecting it to # sync. - connect_nodes(self.nodes[0], 1) + connect_nodes(self.nodes[0], self.nodes[1]) self.sync_all([self.nodes[0:1]]) # Use setup_nodes() to customize the node start behaviour (for example if @@ -198,7 +198,7 @@ self.nodes[1].waitforblockheight(11) self.log.info("Connect node2 and node1") - connect_nodes(self.nodes[1], 2) + connect_nodes(self.nodes[1], self.nodes[2]) self.log.info("Add P2P connection to node2") node2 = BaseNode() diff --git a/test/functional/import-rescan.py b/test/functional/import-rescan.py --- a/test/functional/import-rescan.py +++ b/test/functional/import-rescan.py @@ -132,7 +132,7 @@ self.add_nodes(self.num_nodes, extra_args) self.start_nodes() for i in range(1, self.num_nodes): - connect_nodes(self.nodes[i], 0) + connect_nodes(self.nodes[i], self.nodes[0]) def run_test(self): # Create one transaction on node 0 with a unique amount and label for diff --git a/test/functional/merkle_blocks.py b/test/functional/merkle_blocks.py --- a/test/functional/merkle_blocks.py +++ b/test/functional/merkle_blocks.py @@ -20,9 +20,9 @@ def setup_network(self): self.setup_nodes() - connect_nodes(self.nodes[0], 1) - connect_nodes(self.nodes[0], 2) - connect_nodes(self.nodes[0], 3) + connect_nodes(self.nodes[0], self.nodes[1]) + connect_nodes(self.nodes[0], self.nodes[2]) + connect_nodes(self.nodes[0], self.nodes[3]) self.sync_all() diff --git a/test/functional/minchainwork.py b/test/functional/minchainwork.py --- a/test/functional/minchainwork.py +++ b/test/functional/minchainwork.py @@ -40,7 +40,7 @@ # block relay to inbound peers. self.setup_nodes() for i in range(self.num_nodes-1): - connect_nodes(self.nodes[i+1], i) + connect_nodes(self.nodes[i+1], self.nodes[i]) def run_test(self): # Start building a chain on node0. node2 shouldn't be able to sync until node1's diff --git a/test/functional/p2p-acceptblock.py b/test/functional/p2p-acceptblock.py --- a/test/functional/p2p-acceptblock.py +++ b/test/functional/p2p-acceptblock.py @@ -162,7 +162,7 @@ # FIXME: Replace the assert with the commented lines once Core backport # 932f118 is completed. Current behavior does not accept equal work # blocks ontop of unprocessed blocks. - #self.nodes[0].getblock(block_h2f.hash) + # self.nodes[0].getblock(block_h2f.hash) #self.log.info("Second height 2 block accepted, but not reorg'ed to") assert_raises_rpc_error(-1, "Block not found on disk", self.nodes[0].getblock, block_h2f.hash) @@ -360,10 +360,10 @@ test_node.send_message(headers_message) # FIXME: Uncomment this line once Core backport 015a525 is completed. # Current behavior does not ban peers that give us headers on invalid chains. - #test_node.wait_for_disconnect() + # test_node.wait_for_disconnect() # 9. Connect node1 to node0 and ensure it is able to sync - connect_nodes(self.nodes[0], 1) + connect_nodes(self.nodes[0], self.nodes[1]) sync_blocks([self.nodes[0], self.nodes[1]]) self.log.info("Successfully synced nodes 1 and 0") diff --git a/test/functional/pruning.py b/test/functional/pruning.py --- a/test/functional/pruning.py +++ b/test/functional/pruning.py @@ -58,11 +58,11 @@ self.prunedir = self.options.tmpdir + "/node2/regtest/blocks/" - connect_nodes(self.nodes[0], 1) - connect_nodes(self.nodes[1], 2) - connect_nodes(self.nodes[2], 0) - connect_nodes(self.nodes[0], 3) - connect_nodes(self.nodes[0], 4) + connect_nodes(self.nodes[0], self.nodes[1]) + connect_nodes(self.nodes[1], self.nodes[2]) + connect_nodes(self.nodes[2], self.nodes[0]) + connect_nodes(self.nodes[0], self.nodes[3]) + connect_nodes(self.nodes[0], self.nodes[4]) sync_blocks(self.nodes[0:5]) def setup_nodes(self): @@ -135,8 +135,8 @@ # Create connections in the order so both nodes can see the reorg # at the same time - connect_nodes(self.nodes[1], 0) - connect_nodes(self.nodes[2], 0) + connect_nodes(self.nodes[1], self.nodes[0]) + connect_nodes(self.nodes[2], self.nodes[0]) sync_blocks(self.nodes[0:3]) self.log.info("Usage can be over target because of high stale rate: %d" % @@ -185,8 +185,8 @@ self.nodes[1].generate(300) self.log.info("Reconnect nodes") - connect_nodes(self.nodes[0], 1) - connect_nodes(self.nodes[2], 1) + connect_nodes(self.nodes[0], self.nodes[1]) + connect_nodes(self.nodes[2], self.nodes[1]) sync_blocks(self.nodes[0:3], timeout=120) self.log.info("Verify height on node 2: %d" % @@ -378,7 +378,7 @@ # check that wallet loads loads successfully when restarting a pruned node after IBD. # this was reported to fail in #7494. self.log.info("Syncing node 5 to test wallet") - connect_nodes(self.nodes[0], 5) + connect_nodes(self.nodes[0], self.nodes[5]) nds = [self.nodes[0], self.nodes[5]] sync_blocks(nds, wait=5, timeout=300) self.stop_node(5) # stop and start to trigger rescan 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 @@ -392,18 +392,18 @@ raise AssertionError("timed out waiting for disconnect") -def connect_nodes(from_connection, node_num): - ip_port = "127.0.0.1:" + str(p2p_port(node_num)) - from_connection.addnode(ip_port, "onetry") +def connect_nodes(from_node, to_node): + ip_port = "127.0.0.1:" + str(p2p_port(to_node.index)) + from_node.addnode(ip_port, "onetry") # poll until version handshake complete to avoid race conditions # with transaction relaying - while any(peer['version'] == 0 for peer in from_connection.getpeerinfo()): + while any(peer['version'] == 0 for peer in from_node.getpeerinfo()): time.sleep(0.1) def connect_nodes_bi(nodes, a, b): - connect_nodes(nodes[a], b) - connect_nodes(nodes[b], a) + connect_nodes(nodes[a], nodes[b]) + connect_nodes(nodes[b], nodes[a]) def sync_blocks(rpc_connections, *, wait=1, timeout=60): diff --git a/test/functional/txn_clone.py b/test/functional/txn_clone.py --- a/test/functional/txn_clone.py +++ b/test/functional/txn_clone.py @@ -122,7 +122,7 @@ self.nodes[2].generate(1) # Reconnect the split network, and sync chain: - connect_nodes(self.nodes[1], 2) + connect_nodes(self.nodes[1], self.nodes[2]) self.nodes[2].sendrawtransaction(fund_bar_tx["hex"]) self.nodes[2].sendrawtransaction(tx2["hex"]) self.nodes[2].generate(1) # Mine another block to make sure we sync diff --git a/test/functional/txn_doublespend.py b/test/functional/txn_doublespend.py --- a/test/functional/txn_doublespend.py +++ b/test/functional/txn_doublespend.py @@ -109,7 +109,7 @@ self.nodes[2].generate(1) # Reconnect the split network, and sync chain: - connect_nodes(self.nodes[1], 2) + connect_nodes(self.nodes[1], self.nodes[2]) self.nodes[2].generate(1) # Mine another block to make sure we sync sync_blocks(self.nodes) assert_equal(self.nodes[0].gettransaction( diff --git a/test/functional/walletbackup.py b/test/functional/walletbackup.py --- a/test/functional/walletbackup.py +++ b/test/functional/walletbackup.py @@ -47,10 +47,10 @@ def setup_network(self, split=False): self.setup_nodes() - connect_nodes(self.nodes[0], 3) - connect_nodes(self.nodes[1], 3) - connect_nodes(self.nodes[2], 3) - connect_nodes(self.nodes[2], 0) + connect_nodes(self.nodes[0], self.nodes[3]) + connect_nodes(self.nodes[1], self.nodes[3]) + connect_nodes(self.nodes[2], self.nodes[3]) + connect_nodes(self.nodes[2], self.nodes[0]) self.sync_all() def one_send(self, from_node, to_address): @@ -81,10 +81,10 @@ self.start_node(0) self.start_node(1) self.start_node(2) - connect_nodes(self.nodes[0], 3) - connect_nodes(self.nodes[1], 3) - connect_nodes(self.nodes[2], 3) - connect_nodes(self.nodes[2], 0) + connect_nodes(self.nodes[0], self.nodes[3]) + connect_nodes(self.nodes[1], self.nodes[3]) + connect_nodes(self.nodes[2], self.nodes[3]) + connect_nodes(self.nodes[2], self.nodes[0]) def stop_three(self): self.stop_node(0)