From bf024d769ddb05180ab4423685100f75d35c54fc Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 30 Sep 2026 15:57:48 -0300 Subject: The lspcomplete snapshot waits up to a minute for zls's answer, which it takes the moment it is drawn lspcomplete failed once in a full parallel snap run with ExpectFailed after 22 s. Its `wait 15000 +Search` for the first completion ran out while a zls slowed by the loaded machine had not answered yet. Alone it takes 2.2 s. A wait returns as soon as its needle is drawn, so the four waits for zls's `+Search` now allow 60 s, and the settles after them 30 s: free when zls is quick, room when it is not. It passes 3 of 3 alone and 3 of 3 with every core busy. Co-Authored-By: Claude Opus 5.5 --- test/snapshots/lspcomplete.snap | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/test/snapshots/lspcomplete.snap b/test/snapshots/lspcomplete.snap index d9e165a1..eaa26c61 100644 --- a/test/snapshots/lspcomplete.snap +++ b/test/snapshots/lspcomplete.snap @@ -1,4 +1,8 @@ -# Tab after a dot in insert mode: "what could go here". The answer is a +# Tab after a dot in insert mode: "what could go here". +# +# Each wait for zls's answer allows a minute: it returns as soon as the answer +# is drawn (2 s alone), and a zls slowed by a loaded machine (the parallel +# snap run) took over 15 s, which failed the old wait. The answer is a # `+Search` buffer of zls's candidates, one row each at the cursor (a # completion item names no declaration) — nothing is inserted and nothing pops # up. @@ -62,8 +66,8 @@ key tab # The rows that prove it: `verdigris` and `cinnabar` can only have come from # resolving the switch's condition to `Shade` and asking what it declares. # Line 8 still reads `.` and nothing else — a completion INSERTS NOTHING. -wait 15000 +Search -stable 700 15000 +wait 60000 +Search +stable 700 30000 snap completion # Two more Tabs. Every one of them answers, and every answer REFILLS the one # `+Search` rather than opening its twin. The SECOND press is already the whole @@ -78,7 +82,7 @@ settle 150 key tab settle 150 key tab -stable 700 20000 +stable 700 30000 snap refill # The pane is still in insert mode, which is right — the query answered beside # the cursor and typing goes on — so walking the answer means leaving it first, @@ -127,8 +131,8 @@ key end text . stable 400 5000 key tab -wait 15000 +Search -stable 700 15000 +wait 60000 +Search +stable 700 30000 snap nosemi # ...and a construct still hanging OPEN. The switch has no closing brace at # all — the one `}` in the file closes it and leaves the function unclosed — @@ -148,6 +152,6 @@ key end text . stable 400 5000 key tab -wait 15000 +Search -stable 700 15000 +wait 60000 +Search +stable 700 30000 snap nobrace -- cgit v1.3