From a1bc3e7dc1df13c2bdea79357ec2d8c8eb2a079d Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Tue, 3 Jun 2025 21:14:31 +0300 Subject: [PATCH 1/7] print proc res for failed case in comp test --- src/tools/compiletest/src/runtest/ui.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index cc50a918f757a..03fa2b233f830 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -135,6 +135,7 @@ impl TestCx<'_> { 0 }; if run_output_errors > 0 { + debug!("proc_res: {}", proc_res.stdout); self.fatal_proc_rec( &format!("{} errors occurred comparing run output.", run_output_errors), &proc_res, @@ -142,6 +143,7 @@ impl TestCx<'_> { } if self.should_run_successfully(pm) { if !proc_res.status.success() { + debug!("proc_res: {}", proc_res.stdout); self.fatal_proc_rec("test run failed!", &proc_res); } } else if proc_res.status.success() { From eac0189e41e87f2c4107f6b8fc956927d2e5dc9a Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Wed, 4 Jun 2025 00:57:58 +0300 Subject: [PATCH 2/7] remove useless debug log in ui runtest --- src/tools/compiletest/src/runtest/ui.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index 03fa2b233f830..70ca13b19312b 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -3,7 +3,7 @@ use std::fs::OpenOptions; use std::io::Write; use rustfix::{Filter, apply_suggestions, get_suggestions_from_json}; -use tracing::debug; +use tracing::{debug, error}; use super::{ AllowUnused, Emit, FailMode, LinkToAux, PassMode, TargetLocation, TestCx, TestOutput, @@ -135,7 +135,6 @@ impl TestCx<'_> { 0 }; if run_output_errors > 0 { - debug!("proc_res: {}", proc_res.stdout); self.fatal_proc_rec( &format!("{} errors occurred comparing run output.", run_output_errors), &proc_res, From 8c02f1d7523ab6b6beb8455b49301af10792133e Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Wed, 4 Jun 2025 00:58:45 +0300 Subject: [PATCH 3/7] remove useless import --- src/tools/compiletest/src/runtest/ui.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index 70ca13b19312b..94061c34abf2d 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -3,7 +3,7 @@ use std::fs::OpenOptions; use std::io::Write; use rustfix::{Filter, apply_suggestions, get_suggestions_from_json}; -use tracing::{debug, error}; +use tracing::debug; use super::{ AllowUnused, Emit, FailMode, LinkToAux, PassMode, TargetLocation, TestCx, TestOutput, From a5b25aa4251b1b6947b5c8f1bb7734832d6eff37 Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Wed, 4 Jun 2025 19:43:45 +0300 Subject: [PATCH 4/7] remove useless debug log --- src/tools/compiletest/src/runtest/ui.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index 94061c34abf2d..cc50a918f757a 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -142,7 +142,6 @@ impl TestCx<'_> { } if self.should_run_successfully(pm) { if !proc_res.status.success() { - debug!("proc_res: {}", proc_res.stdout); self.fatal_proc_rec("test run failed!", &proc_res); } } else if proc_res.status.success() { From f74655eea861c2a40110b996042f60340c6b5019 Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Sun, 8 Jun 2025 19:49:11 +0300 Subject: [PATCH 5/7] add new_proc_res in ui runtest --- src/tools/compiletest/src/runtest/ui.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index cc50a918f757a..f28deaaf2e07e 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -127,8 +127,8 @@ impl TestCx<'_> { ); } - let output_to_check = if let WillExecute::Yes = should_run { - let proc_res = self.exec_compiled_test(); + let (output_to_check, proc_res) = if let WillExecute::Yes = should_run { + let new_proc_res = self.exec_compiled_test(); let run_output_errors = if self.props.check_run_results { self.load_compare_outputs(&proc_res, TestOutput::Run, explicit) } else { @@ -137,20 +137,20 @@ impl TestCx<'_> { if run_output_errors > 0 { self.fatal_proc_rec( &format!("{} errors occurred comparing run output.", run_output_errors), - &proc_res, + &new_proc_res, ); } if self.should_run_successfully(pm) { if !proc_res.status.success() { - self.fatal_proc_rec("test run failed!", &proc_res); + self.fatal_proc_rec("test run failed!", &new_proc_res); } } else if proc_res.status.success() { - self.fatal_proc_rec("test run succeeded!", &proc_res); + self.fatal_proc_rec("test run succeeded!", &new_proc_res); } - self.get_output(&proc_res) + (self.get_output(&new_proc_res), new_proc_res) } else { - self.get_output(&proc_res) + (self.get_output(&proc_res), proc_res) }; debug!( From e54c5557b036e122542140d2a7545dd35a5dd85c Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Sun, 8 Jun 2025 19:52:15 +0300 Subject: [PATCH 6/7] correct logging new proc res --- src/tools/compiletest/src/runtest/ui.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index f28deaaf2e07e..16a58271aaaee 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -127,7 +127,7 @@ impl TestCx<'_> { ); } - let (output_to_check, proc_res) = if let WillExecute::Yes = should_run { + let (output_to_check, proc_res_to_report) = if let WillExecute::Yes = should_run { let new_proc_res = self.exec_compiled_test(); let run_output_errors = if self.props.check_run_results { self.load_compare_outputs(&proc_res, TestOutput::Run, explicit) @@ -156,7 +156,10 @@ impl TestCx<'_> { debug!( "run_ui_test: explicit={:?} config.compare_mode={:?} \ proc_res.status={:?} props.error_patterns={:?}", - explicit, self.config.compare_mode, proc_res.status, self.props.error_patterns + explicit, + self.config.compare_mode, + proc_res_to_report.status, + self.props.error_patterns ); self.check_expected_errors(&proc_res); From 080e2dba246b9c24d9b86fbc22ccb0674a8b56da Mon Sep 17 00:00:00 2001 From: Suhodolets Ilya Date: Fri, 13 Jun 2025 10:58:51 +0300 Subject: [PATCH 7/7] clone proc res in runtest ui --- src/tools/compiletest/src/runtest.rs | 1 + src/tools/compiletest/src/runtest/ui.rs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index 75f24adb70fa5..34d40bd85c3da 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -2815,6 +2815,7 @@ struct ProcArgs { args: Vec, } +#[derive(Clone)] pub struct ProcRes { status: ExitStatus, stdout: String, diff --git a/src/tools/compiletest/src/runtest/ui.rs b/src/tools/compiletest/src/runtest/ui.rs index 16a58271aaaee..9f43b94a8986f 100644 --- a/src/tools/compiletest/src/runtest/ui.rs +++ b/src/tools/compiletest/src/runtest/ui.rs @@ -148,9 +148,9 @@ impl TestCx<'_> { self.fatal_proc_rec("test run succeeded!", &new_proc_res); } - (self.get_output(&new_proc_res), new_proc_res) + (self.get_output(&new_proc_res), new_proc_res.clone()) } else { - (self.get_output(&proc_res), proc_res) + (self.get_output(&proc_res), proc_res.clone()) }; debug!(