From 766c2c27576c00204bf77f5c0d5cc3fc0e92ccf1 Mon Sep 17 00:00:00 2001 From: MacroFake Date: Sat, 30 Apr 2022 09:25:48 +0200 Subject: [PATCH] Merge bitcoin/bitcoin#25034: test: add missing stop_node calls to feature_coinstatsindex and feature_prune MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit a3cd7dbfd8200c580aae9ea0f5473d58107dd582 test: stop node before calling assert_start_raises_init_error (Martin Zumsande) Pull request description: In #24789, I forgot to stop the node before usingĀ `assert_start_raises_init_error` in `feature_coinstatsindex`. This resulted in a bitcoind process that is not being terminated after the test finishes. `feature_prune` has the same problem and also creates a zombie bitcoind process. Also adds an assert to `assert_start_raises_init_error` to make sure the node isn't already running to prevent this sort of mistake in the future. Top commit has no ACKs. Tree-SHA512: 902f683ebe7b19ca32ab83ca40d9698e9d91509b1d003f21a7221f79b647e05b6ef5c0c888fbb772cbca5e641d5c9437d522b6671f446c3ab321d79f7c6d0284 --- test/functional/feature_coinstatsindex.py | 2 ++ test/functional/test_framework/test_node.py | 1 + 2 files changed, 3 insertions(+) diff --git a/test/functional/feature_coinstatsindex.py b/test/functional/feature_coinstatsindex.py index b038ddcc65ff0..e01af97c1fa32 100755 --- a/test/functional/feature_coinstatsindex.py +++ b/test/functional/feature_coinstatsindex.py @@ -253,11 +253,13 @@ def _test_coin_stats_index(self): self.log.info("Test that -reindex-chainstate is disallowed with coinstatsindex") + self.stop_node(1) self.nodes[1].assert_start_raises_init_error( expected_msg='Error: -reindex-chainstate option is not compatible with -coinstatsindex. ' 'Please temporarily disable coinstatsindex while using -reindex-chainstate, or replace -reindex-chainstate with -reindex to fully rebuild all indexes.', extra_args=['-coinstatsindex', '-reindex-chainstate'], ) + self.restart_node(1, extra_args=["-coinstatsindex"]) def _test_use_index_option(self): self.log.info("Test use_index option for nodes running the index") diff --git a/test/functional/test_framework/test_node.py b/test/functional/test_framework/test_node.py index e69781d346561..7cac7862c9d82 100755 --- a/test/functional/test_framework/test_node.py +++ b/test/functional/test_framework/test_node.py @@ -564,6 +564,7 @@ def assert_start_raises_init_error(self, extra_args=None, expected_msg=None, mat Will throw if dashd starts without an error. Will throw if an expected_msg is provided and it does not match dashd's stdout.""" + assert not self.running with tempfile.NamedTemporaryFile(dir=self.stderr_dir, delete=False) as log_stderr, \ tempfile.NamedTemporaryFile(dir=self.stdout_dir, delete=False) as log_stdout: try: