summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndrew Gallant <jamslam@gmail.com>2019-01-26 14:36:34 -0500
committerAndrew Gallant <jamslam@gmail.com>2019-01-26 14:39:40 -0500
commit31d3e241306f305c1cb94e1882511da2b48dcd36 (patch)
tree9e7ca2b52a93780a20585356ce6cac98ac8db1c2 /tests
parentbf842dbc7fba45befe9b0d9e28f94336c809c9e3 (diff)
args: prevent panicking in 'rg -h | rg'
Previously, we relied on clap to handle printing either an error message, or --help/--version output, in addition to setting the exit status code. Unfortunately, for --help/--version output, clap was panicking if the write failed, which can happen in fairly common scenarios via a broken pipe error. e.g., `rg -h | head`. We fix this by using clap's "safe" API and doing the printing ourselves. We also set the exit code to `2` when an invalid command has been given. Fixes #1125 and partially addresses #1159
Diffstat (limited to 'tests')
-rw-r--r--tests/regression.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/regression.rs b/tests/regression.rs
index 15dbcad7..d547c7e5 100644
--- a/tests/regression.rs
+++ b/tests/regression.rs
@@ -592,6 +592,11 @@ rgtest!(r1130, |dir: Dir, mut cmd: TestCommand| {
);
});
+// See: https://github.com/BurntSushi/ripgrep/issues/1159
+rgtest!(r1159, |_: Dir, mut cmd: TestCommand| {
+ cmd.arg("--wat").assert_exit_code(2);
+});
+
// See: https://github.com/BurntSushi/ripgrep/issues/1163
rgtest!(r1163, |dir: Dir, mut cmd: TestCommand| {
dir.create("bom.txt", "\u{FEFF}test123\ntest123");