From 4a0fc8b69ed839b74f1d23abb2798702f95ecacc Mon Sep 17 00:00:00 2001 From: Kittywhiskers Van Gogh <63189531+kwvg@users.noreply.github.com> Date: Thu, 19 Sep 2024 11:21:16 +0000 Subject: [PATCH] test: don't attempt to (dis)connect nodes to/from themselves --- test/functional/feature_dip3_v19.py | 3 +-- test/functional/feature_llmq_chainlocks.py | 4 +--- test/functional/feature_llmq_evo.py | 3 +-- test/functional/feature_llmq_rotation.py | 3 +-- test/functional/feature_mnehf.py | 2 +- test/functional/test_framework/test_framework.py | 8 ++++++++ 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/test/functional/feature_dip3_v19.py b/test/functional/feature_dip3_v19.py index fd987c7be2..1f2376d62e 100755 --- a/test/functional/feature_dip3_v19.py +++ b/test/functional/feature_dip3_v19.py @@ -54,8 +54,7 @@ class DIP3V19Test(DashTestFramework): null_hash = format(0, "064x") for i in range(len(self.nodes)): - if i != 0: - self.connect_nodes(i, 0) + self.connect_nodes(i, 0) self.nodes[0].sporkupdate("SPORK_17_QUORUM_DKG_ENABLED", 0) self.wait_for_sporks_same() diff --git a/test/functional/feature_llmq_chainlocks.py b/test/functional/feature_llmq_chainlocks.py index 72f2cd6f93..a7dfc132cc 100755 --- a/test/functional/feature_llmq_chainlocks.py +++ b/test/functional/feature_llmq_chainlocks.py @@ -23,13 +23,11 @@ class LLMQChainLocksTest(DashTestFramework): self.set_dash_test_params(5, 4, fast_dip3_enforcement=True) def run_test(self): - # Connect all nodes to node1 so that we always have the whole network connected # Otherwise only masternode connections will be established between nodes, which won't propagate TXs/blocks # Usually node0 is the one that does this, but in this test we isolate it multiple times for i in range(len(self.nodes)): - if i != 1: - self.connect_nodes(i, 1) + self.connect_nodes(i, 1) self.test_coinbase_best_cl(self.nodes[0], expected_cl_in_cb=False) diff --git a/test/functional/feature_llmq_evo.py b/test/functional/feature_llmq_evo.py index e3a95cea67..1135bedda4 100755 --- a/test/functional/feature_llmq_evo.py +++ b/test/functional/feature_llmq_evo.py @@ -58,8 +58,7 @@ class LLMQEvoNodesTest(DashTestFramework): null_hash = format(0, "064x") for i in range(len(self.nodes)): - if i != 0: - self.connect_nodes(i, 0) + self.connect_nodes(i, 0) self.nodes[0].sporkupdate("SPORK_17_QUORUM_DKG_ENABLED", 0) self.nodes[0].sporkupdate("SPORK_2_INSTANTSEND_ENABLED", 1) diff --git a/test/functional/feature_llmq_rotation.py b/test/functional/feature_llmq_rotation.py index 8bfcbbd6a6..c8f9f45437 100755 --- a/test/functional/feature_llmq_rotation.py +++ b/test/functional/feature_llmq_rotation.py @@ -65,8 +65,7 @@ class LLMQQuorumRotationTest(DashTestFramework): # Usually node0 is the one that does this, but in this test we isolate it multiple times for i in range(len(self.nodes)): - if i != 1: - self.connect_nodes(i, 0) + self.connect_nodes(i, 0) self.nodes[0].sporkupdate("SPORK_17_QUORUM_DKG_ENABLED", 0) self.wait_for_sporks_same() diff --git a/test/functional/feature_mnehf.py b/test/functional/feature_mnehf.py index cadbbbc2ca..6d78ac4277 100755 --- a/test/functional/feature_mnehf.py +++ b/test/functional/feature_mnehf.py @@ -43,7 +43,7 @@ class MnehfTest(DashTestFramework): self.stop_node(index) self.start_masternode(mn) for i in range(1, self.num_nodes): - self.connect_nodes(i, 0) + self.connect_nodes(i, 0) def slowly_generate_batch(self, amount): self.log.info(f"Slowly generate {amount} blocks") diff --git a/test/functional/test_framework/test_framework.py b/test/functional/test_framework/test_framework.py index d94a17f56f..40f8f87e44 100755 --- a/test/functional/test_framework/test_framework.py +++ b/test/functional/test_framework/test_framework.py @@ -692,6 +692,10 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass): self.nodes[i].process.wait(timeout) def connect_nodes(self, a, b): + # A node cannot connect to itself, bail out early + if (a == b): + return + def connect_nodes_helper(from_connection, node_num): ip_port = "127.0.0.1:" + str(p2p_port(node_num)) from_connection.addnode(ip_port, "onetry") @@ -706,6 +710,10 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass): connect_nodes_helper(self.nodes[a], b) def disconnect_nodes(self, a, b): + # A node cannot disconnect from itself, bail out early + if (a == b): + return + def disconnect_nodes_helper(from_connection, node_num): def get_peer_ids(): result = []