From 070aef262b069f84e924ebf575a7ac666c680192 Mon Sep 17 00:00:00 2001 From: sapunyangkut <302607731+sapunyangkut@users.noreply.github.com> Date: Sun, 12 Jul 2026 23:33:23 +0800 Subject: [PATCH] Fix nf-test stderr handling Signed-off-by: sapunyangkut <302607731+sapunyangkut@users.noreply.github.com> --- nf_core/components/components_test.py | 2 +- tests/components/test_components_snapshot_test.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/nf_core/components/components_test.py b/nf_core/components/components_test.py index 587c724384..e4c9237ed6 100644 --- a/nf_core/components/components_test.py +++ b/nf_core/components/components_test.py @@ -188,7 +188,7 @@ def display_nftest_output(self, nftest_out: bytes, nftest_err: bytes) -> None: # update snapshot using nf-test --update-snapshot self.generate_snapshot() - else: + elif nftest_err: self.errors.append("nf-test failed") def generate_snapshot(self) -> bool: diff --git a/tests/components/test_components_snapshot_test.py b/tests/components/test_components_snapshot_test.py index 8f0f2c0bd1..7abac474c2 100644 --- a/tests/components/test_components_snapshot_test.py +++ b/tests/components/test_components_snapshot_test.py @@ -11,6 +11,20 @@ from ..test_components import TestComponents +@pytest.mark.parametrize( + ("nftest_err", "expected_errors"), + [(b"", []), (b"error", ["nf-test failed"]), (b"Different Snapshot:", [])], +) +def test_display_nftest_output_stderr(nftest_err, expected_errors): + """Only report an nf-test failure when stderr is non-empty.""" + tester = ComponentsTest.__new__(ComponentsTest) + tester.no_prompts = False + tester.update = False + tester.errors = [] + tester.display_nftest_output(b"", nftest_err) + assert tester.errors == expected_errors + + class TestTestComponentsUtils(TestComponents): def test_components_test_check_inputs(self): """Test the check_inputs() function - raise UserWarning because module doesn't exist"""