diff --git a/clippy_dev/src/dogfood.rs b/clippy_dev/src/dogfood.rs index b69e9f649ec7..9f18d4dccca2 100644 --- a/clippy_dev/src/dogfood.rs +++ b/clippy_dev/src/dogfood.rs @@ -1,5 +1,8 @@ use crate::clippy_project_root; -use std::process::Command; +use std::{ + io::{self, Write}, + process::Command, +}; /// # Panics /// @@ -7,6 +10,12 @@ use std::process::Command; pub fn dogfood(fix: bool, allow_dirty: bool, allow_staged: bool) { let mut cmd = Command::new("cargo"); + #[cfg(not(target_os = "windows"))] + cmd.current_dir(clippy_project_root()) + .args(["test", "-r", "--test", "dogfood"]) + .args(["--features", "internal"]) + .args(["--", "dogfood_clippy"]); + #[cfg(target_os = "windows")] cmd.current_dir(clippy_project_root()) .args(["test", "--test", "dogfood"]) .args(["--features", "internal"]) @@ -28,6 +37,6 @@ pub fn dogfood(fix: bool, allow_dirty: bool, allow_staged: bool) { cmd.env("__CLIPPY_DOGFOOD_ARGS", dogfood_args.join(" ")); let output = cmd.output().expect("failed to run command"); - - println!("{}", String::from_utf8_lossy(&output.stdout)); + io::stdout().write_all(&output.stdout).unwrap(); + io::stderr().write_all(&output.stderr).unwrap(); }