Repository navigation
Report CLI and server errors instead of panicking - #17
Merged
Merged
Conversation
Indexing, saving or loading an index and binding the HTTP listener now print one "error: ..." line to stderr and exit with code 1 (usage errors keep code 2). A poisoned index lock in the server is recovered with into_inner(): the index is read-only between reloads, so serving the last state beats taking the server down. Tests cover a missing repository, a missing index file and an occupied address.
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.
Indexing, saving or loading an index and binding the HTTP listener now print
one "error: ..." line to stderr and exit with code 1 (usage errors keep code 2).
A poisoned index lock in the server is recovered with into_inner(): the index is
read-only between reloads, so serving the last state beats taking the server down.
Tests cover a missing repository, a missing index file and an occupied address.
Checked locally: cargo fmt --check, clippy -D warnings, cargo test (42 passed), evaluation/v3 unittest, evaluate.py, evaluate_modes.py; the four error paths were also run by hand against the built binary.