diff --git a/test/functional/p2p_node_network_limited.py b/test/functional/p2p_node_network_limited.py --- a/test/functional/p2p_node_network_limited.py +++ b/test/functional/p2p_node_network_limited.py @@ -57,9 +57,6 @@ def disconnect_all(self): disconnect_nodes(self.nodes[0], self.nodes[1]) - disconnect_nodes(self.nodes[1], self.nodes[0]) - disconnect_nodes(self.nodes[2], self.nodes[1]) - disconnect_nodes(self.nodes[2], self.nodes[0]) disconnect_nodes(self.nodes[0], self.nodes[2]) disconnect_nodes(self.nodes[1], self.nodes[2]) 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 @@ -516,7 +516,6 @@ Split the network of four nodes into nodes 0/1 and 2/3. """ disconnect_nodes(self.nodes[1], self.nodes[2]) - disconnect_nodes(self.nodes[2], self.nodes[1]) self.sync_all(self.nodes[:2]) self.sync_all(self.nodes[2:]) 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 @@ -420,8 +420,19 @@ def disconnect_nodes(from_node, to_node): - for peer_id in [peer['id'] for peer in from_node.getpeerinfo( - ) if to_node.name in peer['subver']]: + def get_peer_ids(): + result = [] + for peer in from_node.getpeerinfo(): + if to_node.name in peer['subver']: + result.append(peer['id']) + return result + + peer_ids = get_peer_ids() + if not peer_ids: + logger.warning( + f"disconnect_nodes: {from_node.index} and {to_node.index} were not connected") + return + for peer_id in peer_ids: try: from_node.disconnectnode(nodeid=peer_id) except JSONRPCException as e: @@ -432,8 +443,7 @@ raise # wait to disconnect - wait_until(lambda: [peer['id'] for peer in from_node.getpeerinfo( - ) if to_node.name in peer['subver']] == [], timeout=5) + wait_until(lambda: not get_peer_ids(), timeout=5) def connect_nodes(from_node, to_node): diff --git a/test/functional/wallet_txn_clone.py b/test/functional/wallet_txn_clone.py --- a/test/functional/wallet_txn_clone.py +++ b/test/functional/wallet_txn_clone.py @@ -31,7 +31,6 @@ # Start with split network: super().setup_network() disconnect_nodes(self.nodes[1], self.nodes[2]) - disconnect_nodes(self.nodes[2], self.nodes[1]) def run_test(self): output_type = "legacy" diff --git a/test/functional/wallet_txn_doublespend.py b/test/functional/wallet_txn_doublespend.py --- a/test/functional/wallet_txn_doublespend.py +++ b/test/functional/wallet_txn_doublespend.py @@ -31,7 +31,6 @@ # Start with split network: super().setup_network() disconnect_nodes(self.nodes[1], self.nodes[2]) - disconnect_nodes(self.nodes[2], self.nodes[1]) def run_test(self): # All nodes should start with 1,250 BCH: