diff options
Diffstat (limited to 'library/stdarch/crates/intrinsic-test/src/common/compare.rs')
| -rw-r--r-- | library/stdarch/crates/intrinsic-test/src/common/compare.rs | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/library/stdarch/crates/intrinsic-test/src/common/compare.rs b/library/stdarch/crates/intrinsic-test/src/common/compare.rs index 4ff319be8cb..a8ed5b4f40c 100644 --- a/library/stdarch/crates/intrinsic-test/src/common/compare.rs +++ b/library/stdarch/crates/intrinsic-test/src/common/compare.rs @@ -1,12 +1,7 @@ +use super::types::FailureReason; use rayon::prelude::*; use std::process::Command; -enum FailureReason { - RunC(String), - RunRust(String), - Difference(String, String, String), -} - pub fn compare_outputs( intrinsic_name_list: &Vec<String>, toolchain: &str, @@ -18,11 +13,7 @@ pub fn compare_outputs( .filter_map(|intrinsic_name| { let c = Command::new("sh") .arg("-c") - .arg(format!( - "{runner} ./c_programs/{intrinsic_name}", - runner = runner, - intrinsic_name = intrinsic_name, - )) + .arg(format!("{runner} ./c_programs/{intrinsic_name}")) .output(); let rust = if target != "aarch64_be-unknown-linux-gnu" { @@ -31,9 +22,6 @@ pub fn compare_outputs( .arg("-c") .arg(format!( "cargo {toolchain} run --target {target} --bin {intrinsic_name} --release", - intrinsic_name = intrinsic_name, - toolchain = toolchain, - target = target )) .env("RUSTFLAGS", "-Cdebuginfo=0") .output() @@ -42,9 +30,6 @@ pub fn compare_outputs( .arg("-c") .arg(format!( "{runner} ./rust_programs/target/{target}/release/{intrinsic_name}", - runner = runner, - target = target, - intrinsic_name = intrinsic_name, )) .output() }; @@ -55,14 +40,19 @@ pub fn compare_outputs( }; if !c.status.success() { - error!("Failed to run C program for intrinsic {}", intrinsic_name); + error!( + "Failed to run C program for intrinsic {intrinsic_name}\nstdout: {stdout}\nstderr: {stderr}", + stdout = std::str::from_utf8(&c.stdout).unwrap_or(""), + stderr = std::str::from_utf8(&c.stderr).unwrap_or(""), + ); return Some(FailureReason::RunC(intrinsic_name.clone())); } if !rust.status.success() { error!( - "Failed to run rust program for intrinsic {}", - intrinsic_name + "Failed to run Rust program for intrinsic {intrinsic_name}\nstdout: {stdout}\nstderr: {stderr}", + stdout = std::str::from_utf8(&rust.stdout).unwrap_or(""), + stderr = std::str::from_utf8(&rust.stderr).unwrap_or(""), ); return Some(FailureReason::RunRust(intrinsic_name.clone())); } |
