From d885f1dffcab308b01243c774bb24c100748c45a Mon Sep 17 00:00:00 2001 From: Eugene Kalinin Date: Thu, 13 Aug 2026 21:33:53 +0300 Subject: [PATCH] fix(nodeenv): replace leftover debug print with logger.debug The debug print in _get_last_node_version() leaked a dict to stdout on every version detection (default run, --node=latest, --node=lts), which breaks output formatting for tools wrapping nodeenv. fixes #390 --- nodeenv.py | 4 +++- tests/nodeenv_test.py | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nodeenv.py b/nodeenv.py index 3439369..7158c09 100644 --- a/nodeenv.py +++ b/nodeenv.py @@ -1059,7 +1059,9 @@ def _get_last_node_version(lts=False): """ Return last node.js version matching the filter """ - print({"x86": is_x86_64_musl(), "risc": is_riscv64(), "lts": lts}) + logger.debug( + ' * Host platform: x86_64-musl=%s, riscv64=%s, lts=%s', + is_x86_64_musl(), is_riscv64(), lts) def version_filter(v): if lts and not v['lts']: diff --git a/tests/nodeenv_test.py b/tests/nodeenv_test.py index 7aba7d2..b834c3f 100644 --- a/tests/nodeenv_test.py +++ b/tests/nodeenv_test.py @@ -199,6 +199,12 @@ def test_get_lts_node_version_riscv64(): assert nodeenv.get_last_lts_node_version() == '12.13.1' +@pytest.mark.usefixtures('mock_index_json', 'mock_host_platform') +def test_get_last_node_version_writes_nothing_to_stdout(capsys): + nodeenv.get_last_stable_node_version() + assert capsys.readouterr().out == '' + + def test__download_node_file(): with mock.patch.object(nodeenv, 'urlopen') as m_urlopen: m_urlopen.side_effect = IncompleteRead("dummy")