Skip to content

Commit 6fcb894

Browse files
committed
Merge remote-tracking branch 'origin/feature/plan-032-ghostty-tip-bump' into feature/plan-032-tracked-selection
2 parents f7776d1 + c589706 commit 6fcb894

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

tools/roosttest/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ to drive the shell into emitting the sequence. They require
201201
```python
202202
def test_osc11_set_then_query_replies_with_new_bg(roost, project):
203203
tab = roost.open_tab(project, cwd="/tmp")
204+
wait_tab_quiet(roost, tab) # a late shell byte would join the capture
204205
# SET then QUERY. libghostty answers the query from
205206
# `override orelse default`, in wire order — so a SET is visible to
206207
# any QUERY behind it, in a later chunk OR the same one.

tools/roosttest/test_osc_pipeline.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import pytest
4141

4242
from client import scaled_timeout
43-
from util import drain, drain_until_match, wait_tab_attached, wait_tab_quiet
43+
from util import drain, drain_until_match, wait_tab_quiet
4444

4545

4646
TEST_MODE = os.environ.get("ROOST_TEST_MODE") == "1"
@@ -162,7 +162,7 @@ def test_osc11_set_then_query_replies_with_new_bg(self, roost, project):
162162
`override orelse default`, and the set moved the override. SET
163163
in one feed, QUERY in a second."""
164164
tab = roost.open_tab(project, cwd="/tmp")
165-
wait_tab_attached(roost, tab)
165+
wait_tab_quiet(roost, tab)
166166
roost.tab_feed_pty_bytes(tab, b"\x1b]11;rgb:00/11/22\x07")
167167
roost.tab_feed_pty_bytes(tab, b"\x1b]11;?\x07")
168168
# The 16-bit-per-channel form spells `0000/1111/2222`.
@@ -175,7 +175,7 @@ def test_osc11_set_then_query_replies_with_new_bg(self, roost, project):
175175

176176
def test_osc10_set_then_query_replies_with_new_fg(self, roost, project):
177177
tab = roost.open_tab(project, cwd="/tmp")
178-
wait_tab_attached(roost, tab)
178+
wait_tab_quiet(roost, tab)
179179
roost.tab_feed_pty_bytes(tab, b"\x1b]10;rgb:aa/bb/cc\x07")
180180
roost.tab_feed_pty_bytes(tab, b"\x1b]10;?\x07")
181181
captured = _drain_settled(roost, tab, rb"aaaa/bbbb/cccc")
@@ -185,7 +185,7 @@ def test_osc10_set_then_query_replies_with_new_fg(self, roost, project):
185185

186186
def test_osc12_set_then_query_replies_with_new_cursor(self, roost, project):
187187
tab = roost.open_tab(project, cwd="/tmp")
188-
wait_tab_attached(roost, tab)
188+
wait_tab_quiet(roost, tab)
189189
roost.tab_feed_pty_bytes(tab, b"\x1b]12;rgb:de/ad/be\x07")
190190
roost.tab_feed_pty_bytes(tab, b"\x1b]12;?\x07")
191191
captured = _drain_settled(roost, tab, rb"dede/adad/bebe")
@@ -204,7 +204,7 @@ def test_osc4_query_replies_to_gate_probe(self, roost, project):
204204
is theme-dependent) — only that exactly one well-formed OSC 4
205205
reply for index 0 comes back, which is what unblocks opencode."""
206206
tab = roost.open_tab(project, cwd="/tmp")
207-
wait_tab_attached(roost, tab)
207+
wait_tab_quiet(roost, tab)
208208
roost.tab_feed_pty_bytes(tab, b"\x1b]4;0;?\x07")
209209
captured = _drain_settled(
210210
roost, tab, rb"\x1b\]4;0;rgb:[0-9a-f]{4}/[0-9a-f]{4}/[0-9a-f]{4}"
@@ -216,7 +216,7 @@ def test_osc4_set_then_query_replies_with_new_palette(self, roost, project):
216216
be reflected in the next `OSC 4;5;?` reply. SET in one feed,
217217
QUERY in a second."""
218218
tab = roost.open_tab(project, cwd="/tmp")
219-
wait_tab_attached(roost, tab)
219+
wait_tab_quiet(roost, tab)
220220
roost.tab_feed_pty_bytes(tab, b"\x1b]4;5;rgb:de/ad/be\x07")
221221
roost.tab_feed_pty_bytes(tab, b"\x1b]4;5;?\x07")
222222
captured = _drain_settled(roost, tab, rb"\x1b\]4;5;rgb:dede/adad/bebe")
@@ -237,7 +237,7 @@ def test_osc11_same_chunk_set_query_replies_sequentially(self, roost, project):
237237
value, once.
238238
"""
239239
tab = roost.open_tab(project, cwd="/tmp")
240-
wait_tab_attached(roost, tab)
240+
wait_tab_quiet(roost, tab)
241241
roost.tab_feed_pty_bytes(
242242
tab,
243243
b"\x1b]11;rgb:00/11/22\x07\x1b]11;?\x07",
@@ -257,7 +257,7 @@ def test_osc11_query_reply_needs_no_dump_or_refresh(self, roost, project):
257257
anything slower leaks the answer into the shell prompt.
258258
"""
259259
tab = roost.open_tab(project, cwd="/tmp")
260-
wait_tab_attached(roost, tab)
260+
wait_tab_quiet(roost, tab)
261261
roost.tab_feed_pty_bytes(tab, b"\x1b]11;?\x07")
262262
captured = drain_until_match(
263263
roost, tab, rb"\x1b\]11;rgb:[0-9a-f]{4}/[0-9a-f]{4}/[0-9a-f]{4}"
@@ -323,7 +323,7 @@ def test_osc9_notification_lands_on_tab(self, roost, project):
323323
happens to hold focus."""
324324
tab = roost.open_tab(project, cwd="/tmp")
325325
roost.open_tab(project, cwd="/tmp") # steals active
326-
wait_tab_attached(roost, tab)
326+
wait_tab_quiet(roost, tab)
327327
roost.tab_feed_pty_bytes(tab, b"\x1b]9;build complete\x07")
328328
deadline = time.monotonic() + scaled_timeout(5.0)
329329
while time.monotonic() < deadline:

0 commit comments

Comments
 (0)