Skip to content

Check how servers handle interrupt - #11

Merged
bbatsov merged 1 commit into
mainfrom
interrupt
Oct 23, 2026
Merged

bbatsov merged 1 commit into
mainfrom
interrupt

Conversation

@bbatsov

@bbatsov bbatsov commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

proof serve now stops an interrupted eval, and nREPL 1.8.0's interrupt bugs are scenarios that -like clojure and -like babashka turn on, so a client's tests see what its users see. There's no check for the race in nrepl/nrepl#504, as nothing hits it reliably.

Every interactive client sends interrupt, and getting it wrong leaves
CIDER without a prompt, Calva with a result that never comes and
Conjure (which never sends interrupt-id) with an eval that keeps
running. The new checks interrupt a sleep snippet, with and without
interrupt-id, and look at what follows: the session, evals that were
waiting for it and interrupts from another connection.

nREPL 1.8.0 and Babashka drop the evals that were waiting (nrepl#503)
and send the interrupted eval's done to the interrupt's connection
(nrepl#498), so they fail two of them. proof serve now stops an
interrupted eval the way dialtone and repartee do, and has those bugs,
along with the exception nREPL sends after the done (nrepl#506), as
scenarios that -like clojure and -like babashka turn on.
@bbatsov
bbatsov merged commit 35fad21 into main Oct 23, 2026
5 checks passed
@bbatsov
bbatsov deleted the interrupt branch October 23, 2026 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant