Skip to content

Commit 2e743a6

Browse files
authored
Merge pull request #2154 from Kobzol/clippy-fix
Fix Clippy benchmarks
2 parents 7a1e00a + f24861a commit 2e743a6

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

collector/src/bin/collector.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,8 @@ struct CompileTimeOptions {
382382
#[arg(long)]
383383
rustdoc: Option<PathBuf>,
384384

385-
/// The path to the local clippy to measure
385+
/// The path to the local clippy to measure.
386+
/// It should be a path to the `clippy-driver` binary.
386387
#[arg(long)]
387388
clippy: Option<PathBuf>,
388389
}

collector/src/compile/execute/mod.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ impl<'a> CargoProcess<'a> {
248248
};
249249

250250
if let Some(c) = &self.toolchain.components.clippy {
251-
cmd.env("CLIPPY", &*FAKE_CLIPPY).env("CLIPPY_REAL", c);
251+
cmd.env("CLIPPY_REAL", c);
252252
}
253253

254254
for config in &self.toolchain.components.cargo_configs {
@@ -335,7 +335,12 @@ impl<'a> CargoProcess<'a> {
335335
}
336336
Profile::Debug => {}
337337
Profile::Doc => {}
338-
Profile::Clippy => {}
338+
Profile::Clippy => {
339+
cmd.arg("--profile").arg("check");
340+
// For Clippy, we still invoke `cargo rustc`, but we need to override the
341+
// executed rustc to be clippy-fake.
342+
cmd.env("RUSTC", &*FAKE_CLIPPY);
343+
}
339344
Profile::Opt => {
340345
cmd.arg("--release");
341346
}

collector/src/toolchain.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ impl SysrootDownload {
128128
let components = ToolchainComponents::from_binaries_and_libdir(
129129
sysroot_bin("rustc")?,
130130
Some(sysroot_bin("rustdoc")?),
131-
sysroot_bin("cargo-clippy").ok(),
131+
sysroot_bin("clippy-driver").ok(),
132132
sysroot_bin("cargo")?,
133133
&self.directory.join(&self.rust_sha).join("lib"),
134134
)?;
@@ -484,12 +484,12 @@ pub fn get_local_toolchain(
484484
)
485485
} else if profiles.contains(&Profile::Clippy) {
486486
// We need a `clippy`. Look for one next to `rustc`.
487-
if let Ok(clippy) = rustc.with_file_name("cargo-clippy").canonicalize() {
487+
if let Ok(clippy) = rustc.with_file_name("clippy-driver").canonicalize() {
488488
debug!("found clippy: {:?}", &clippy);
489489
Some(clippy)
490490
} else {
491491
anyhow::bail!(
492-
"'Clippy' build specified but '--cargo-clippy' not specified and no 'cargo-clippy' found \
492+
"'Clippy' build specified but '--clippy' not specified and no 'clippy-driver' found \
493493
next to 'rustc'"
494494
);
495495
}

0 commit comments

Comments
 (0)