about summary refs log tree commit diff
path: root/library/stdarch/crates/intrinsic-test/src/common/compare.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/crates/intrinsic-test/src/common/compare.rs')
-rw-r--r--library/stdarch/crates/intrinsic-test/src/common/compare.rs30
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()));
             }