Fix the intermittent unknown-op flake in the Node completion tests - #63
Merged
Conversation
The standalone completion middleware only answers `complete` once piggieback has stored the cljs compiler-env in the session. Until the Node repl finishes booting, the op falls through to nREPL's `unknown-op` and the request comes back with no completions - which intermittently failed `suitable-node` in CI. Gate `with-repl-env` on a working `js/Ob` completion before running the body, so the tests wait for the cljs completion path to be live. A real cider-nrepl stack always has a completion handler, so it never hits this race.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
suitable-nodetest failed intermittently in CI with:status #{"error" "unknown-op"}and no completions. The standalone completion middleware only answerscompleteonce piggieback has stored the cljs compiler-env in the session; until the Node repl finishes booting, the op falls through to nREPL'sunknown-op. It's a harness startup race, not a production issue - a real cider-nrepl stack always has a completion handler, so it never hits this.Gate
with-repl-envon a workingjs/Obcompletion before running the body, so the tests wait for the cljs completion path to be live. Verified stable over several local runs.