Run expansion tests only if rustfmt is present

This commit is contained in:
David Tolnay
2020-05-05 21:49:21 -07:00
parent e2ff603587
commit 23db3a41e7
3 changed files with 21 additions and 11 deletions
+16 -9
View File
@@ -1,13 +1,13 @@
use std::process::{Command, ExitStatus, Stdio};
#[cfg(not(windows))]
const CARGO_EXPAND: &str = "cargo-expand";
fn has_cargo_expand() -> bool {
let cargo_expand = if cfg!(windows) {
"cargo-expand.exe"
} else {
"cargo-expand"
};
#[cfg(windows)]
const CARGO_EXPAND: &str = "cargo-expand.exe";
fn main() {
if Command::new(CARGO_EXPAND)
Command::new(cargo_expand)
.arg("--version")
.stdin(Stdio::null())
.stdout(Stdio::null())
@@ -16,7 +16,14 @@ fn main() {
.as_ref()
.map(ExitStatus::success)
.unwrap_or(false)
{
println!("cargo:rustc-cfg=cargo_expand");
}
fn has_rustfmt() -> bool {
toolchain_find::find_installed_component("rustfmt").is_some()
}
fn main() {
if has_cargo_expand() && has_rustfmt() {
println!("cargo:rustc-cfg=expandtest");
}
}