From a4263aafd012db79b56052064c64b010452b92a9 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Wed, 1 Apr 2026 18:56:59 -0500 Subject: [PATCH 1/2] fix(tests): fix flaky test_capture_pane_flags[join_wrapped_numbers] why: The command_complete() check matched the marker string inside the shell command echo line ($ printf ... echo "__DONE_...") before the command actually executed. On slower systems or CI, this race condition caused the test to capture the pane before seq produced output. what: - Change marker detection to skip lines starting with $ (shell prompt echo) - Marker now only matches when it appears as actual command output Fixes #654 --- tests/test_pane_capture_pane.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/test_pane_capture_pane.py b/tests/test_pane_capture_pane.py index 5111a0670..0ca89fb4d 100644 --- a/tests/test_pane_capture_pane.py +++ b/tests/test_pane_capture_pane.py @@ -356,10 +356,12 @@ def prompt_ready() -> bool: full_command = f'{command}; echo "{marker}"' pane.send_keys(full_command, literal=False, suppress_history=False) - # Wait for marker to appear + # Wait for marker to appear as command output (not in the command echo line) def command_complete() -> bool: - output = "\n".join(pane.capture_pane()) - return marker in output + lines = pane.capture_pane() + return any( + marker in line and not line.lstrip().startswith("$") for line in lines + ) retry_until(command_complete, 5, raises=True) From cb5ebd4dbaf340805ff5b7f585b2af10a0280b85 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Wed, 1 Apr 2026 19:03:46 -0500 Subject: [PATCH 2/2] docs(CHANGES) flaky join_wrapped_numbers test fix --- CHANGES | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGES b/CHANGES index 9e92ccf64..ba12a1563 100644 --- a/CHANGES +++ b/CHANGES @@ -45,6 +45,13 @@ $ uvx --from 'libtmux' --prerelease allow python _Notes on the upcoming release will go here._ +### Fixes + +#### Flaky `test_capture_pane_flags[join_wrapped_numbers]` (#655) + +Marker detection now skips the shell command echo line to avoid +false-positive completion. + ## libtmux 0.58.0 (2026-05-23) libtmux 0.58.0 fixes subprocess output decoding on non-UTF-8 locales.