diff --git a/src/rustup-cli/self_update.rs b/src/rustup-cli/self_update.rs index a7e740ead3..da6ed04151 100644 --- a/src/rustup-cli/self_update.rs +++ b/src/rustup-cli/self_update.rs @@ -190,7 +190,7 @@ tools, but otherwise, install the C++ build tools before proceeding. "#; static TOOLS: &'static [&'static str] = - &["rustc", "rustdoc", "cargo", "rust-lldb", "rust-gdb", "rls"]; + &["rustc", "rustdoc", "cargo", "rust-lldb", "rust-gdb", "rls", "cargo-clippy"]; // Tools which are commonly installed by Cargo as well as rustup. We take a bit // more care with these to ensure we don't overwrite the user's previous diff --git a/src/rustup-win-installer/src/lib.rs b/src/rustup-win-installer/src/lib.rs index 5264c5b801..fa2d0b90ea 100644 --- a/src/rustup-win-installer/src/lib.rs +++ b/src/rustup-win-installer/src/lib.rs @@ -26,6 +26,7 @@ static TOOLS: &'static [&'static str] = &[ "rls", "rustfmt", "cargo-fmt", + "cargo-clippy", ]; #[no_mangle] diff --git a/tests/cli-self-upd.rs b/tests/cli-self-upd.rs index 8638a4a473..f33d1d18c1 100644 --- a/tests/cli-self-upd.rs +++ b/tests/cli-self-upd.rs @@ -1367,3 +1367,15 @@ fn update_does_not_overwrite_rustfmt() { assert!(utils::file_size(rustfmt_path).unwrap() > 0); }); } + +#[test] +fn update_installs_clippy_cargo_and() { + update_setup(&|config, self_dist| { + expect_ok(config, &["rustup-init", "-y"]); + let version = env!("CARGO_PKG_VERSION"); + output_release_file(self_dist, "1", version); + + let ref cargo_clippy_path = config.cargodir.join(format!("bin/cargo-clippy{}", EXE_SUFFIX)); + assert!(cargo_clippy_path.exists()); + }); +}