From aa4754e30a8cfb5e9be3d88d3771df4232a3f5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Mon, 4 Dec 2023 17:03:47 +0100 Subject: [PATCH] contracts-fixtures: Do not assume that `rustup` is installed (#2586) The build script was assuming that `rustup` is installed, which breaks the build on systems that do not use `rustup`. This pull request just fixes it by not panicking on the call to `rustup`. --- substrate/frame/contracts/fixtures/build.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/substrate/frame/contracts/fixtures/build.rs b/substrate/frame/contracts/fixtures/build.rs index ada2650c6db5..49deb94a7faa 100644 --- a/substrate/frame/contracts/fixtures/build.rs +++ b/substrate/frame/contracts/fixtures/build.rs @@ -147,9 +147,7 @@ fn invoke_cargo_fmt<'a>( if !Command::new("rustup") .args(&["run", "nightly", "rustfmt", "--version"]) .output() - .expect("failed to execute process") - .status - .success() + .map_or(false, |o| o.status.success()) { return Ok(()) } @@ -169,10 +167,12 @@ fn invoke_cargo_fmt<'a>( let stderr = String::from_utf8_lossy(&fmt_res.stderr); eprintln!("{}\n{}", stdout, stderr); eprintln!( - "Fixtures files are not formatted.\nPlease run `rustup run nightly rustfmt --config-path {} {}/*.rs`", + "Fixtures files are not formatted.\n + Please run `rustup run nightly rustfmt --config-path {} {}/*.rs`", config_path.display(), contract_dir.display() ); + anyhow::bail!("Fixtures files are not formatted") }