From 52230a7f697fd99abdc4550d6a60737be024e246 Mon Sep 17 00:00:00 2001 From: Sebastian Falbesoner Date: Thu, 20 Nov 2025 12:03:08 +0100 Subject: [PATCH] test: check for output to stdout in `TestShell` test --- test/functional/feature_framework_testshell.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/functional/feature_framework_testshell.py b/test/functional/feature_framework_testshell.py index cb39d9d08bd..75ba4e69012 100755 --- a/test/functional/feature_framework_testshell.py +++ b/test/functional/feature_framework_testshell.py @@ -4,7 +4,9 @@ # file COPYING or http://www.opensource.org/licenses/mit-license.php. """Tests for the `TestShell` submodule.""" +from contextlib import redirect_stdout from decimal import Decimal +from io import StringIO from pathlib import Path # Note that we need to import from functional test framework modules @@ -24,8 +26,11 @@ def run_testshell_doc_example(functional_tests_dir): test = TestShell().setup(num_nodes=2, setup_clean_chain=True) try: assert test is not None - test2 = TestShell().setup() - assert test2 is None # TODO: check for "TestShell is already running!" output to stdout + stdout_buf = StringIO() + with redirect_stdout(stdout_buf): + test2 = TestShell().setup() + assert test2 is None + assert_equal(stdout_buf.getvalue().rstrip(), "TestShell is already running!") assert_equal(test.nodes[0].getblockchaininfo()["blocks"], 0) if test.is_wallet_compiled(): res = test.nodes[0].createwallet('default')