summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Tiehuis <marctiehuis@gmail.com>2017-05-20 00:12:38 +1200
committerAndrew Gallant <jamslam@gmail.com>2017-05-19 20:00:47 -0400
commit229b8e3b3322177e2a518d87358b3503dfc18cdf (patch)
treea06f23da9061d642fbb1f0d90aad0afc1f67b4bc
parenta515c4d601e449dd78441e7f7e14ab0c2299ac02 (diff)
Make --quiet flag apply when using --files option
Fixes #483.
-rw-r--r--src/main.rs8
-rw-r--r--tests/tests.rs29
2 files changed, 35 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index 501f2ed7..5cae6a11 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -192,7 +192,9 @@ fn run_files_parallel(args: Arc<Args>) -> Result<u64> {
let mut printer = print_args.printer(stdout.lock());
let mut file_count = 0;
for dent in rx.iter() {
- printer.path(dent.path());
+ if !print_args.quiet() {
+ printer.path(dent.path());
+ }
file_count += 1;
}
file_count
@@ -227,7 +229,9 @@ fn run_files_one_thread(args: Arc<Args>) -> Result<u64> {
None => continue,
Some(dent) => dent,
};
- printer.path(dent.path());
+ if !args.quiet() {
+ printer.path(dent.path());
+ }
file_count += 1;
}
Ok(file_count)
diff --git a/tests/tests.rs b/tests/tests.rs
index 95c6e6a5..930aa165 100644
--- a/tests/tests.rs
+++ b/tests/tests.rs
@@ -1652,6 +1652,35 @@ fn regression_451_only_matching() {
assert_eq!(lines, expected);
}
+// See: https://github.com/BurntSushi/ripgrep/issues/483
+#[test]
+fn regression_483_matching_no_stdout() {
+ let wd = WorkDir::new("regression_483_matching_no_stdout");
+ wd.create("file.py", "");
+
+ let mut cmd = wd.command();
+ cmd.arg("--quiet")
+ .arg("--files")
+ .arg("--glob").arg("*.py");
+
+ let lines: String = wd.stdout(&mut cmd);
+ assert!(lines.is_empty());
+}
+
+// See: https://github.com/BurntSushi/ripgrep/issues/483
+#[test]
+fn regression_483_non_matching_exit_code() {
+ let wd = WorkDir::new("regression_483_non_matching_exit_code");
+ wd.create("file.rs", "");
+
+ let mut cmd = wd.command();
+ cmd.arg("--quiet")
+ .arg("--files")
+ .arg("--glob").arg("*.py");
+
+ wd.assert_err(&mut cmd);
+}
+
#[test]
fn type_list() {
let wd = WorkDir::new("type_list");