[all-commits] [llvm/llvm-project] 3f58d3: [lldb][test] Deflake the statusline scripted-comma...
Jonas Devlieghere via All-commits
all-commits at lists.llvm.org
Tue Jul 14 16:30:51 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3f58d3dfe808a5605c72fa812776ed6495188a6b
https://github.com/llvm/llvm-project/commit/3f58d3dfe808a5605c72fa812776ed6495188a6b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2026-07-14 (Tue, 14 Jul 2026)
Changed paths:
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/statusline/statusline_flood.py
Log Message:
-----------
[lldb][test] Deflake the statusline scripted-command output test (#209643)
test_scripted_command_output_not_eaten failed intermittently in CI on
its assertIn(b"\x1b7", data) guard because the captured window held no
statusline escape at all, only the command output and the next prompt.
The cause is a thread-scheduling race, not a bug. The statusline is
redrawn on the event thread once per progress event, but on a loaded
machine the event thread need not run until the flood command has
already returned, so it drains the queued progress events after (lldb)
was matched and the capture stopped, leaving no redraw to inspect.
Widen the flood (the line count is now an argument) so the event thread
has a larger window to redraw in, and retry until at least one complete
cursor save/restore pair is observed before checking that no output was
spliced into it. If a redraw is never seen, skip rather than fail.
I deliberately avoided a per-line sleep as it would let each redraw
finish between prints and hide the very interleaving the test looks for.
Fixes #209605
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list