Report compiletest pass mode if forced
This is very non-obvious if it fails in PR CI.
diff --git a/src/tools/compiletest/src/lib.rs b/src/tools/compiletest/src/lib.rs
index 3ec984e..950566b 100644
--- a/src/tools/compiletest/src/lib.rs
+++ b/src/tools/compiletest/src/lib.rs
@@ -22,6 +22,7 @@
use core::panic;
use std::collections::HashSet;
use std::ffi::OsString;
+use std::fmt::Write;
use std::io::{self, ErrorKind};
use std::path::{Path, PathBuf};
use std::process::{Command, Stdio};
@@ -570,18 +571,22 @@ pub fn run_tests(config: Arc<Config>) {
// easy to miss which tests failed, and as such fail to reproduce
// the failure locally.
- println!(
- "Some tests failed in compiletest suite={}{} mode={} host={} target={}",
- config.suite,
- config
- .compare_mode
- .as_ref()
- .map(|c| format!(" compare_mode={:?}", c))
- .unwrap_or_default(),
- config.mode,
- config.host,
- config.target
- );
+ let mut msg = String::from("Some tests failed in compiletest");
+ write!(msg, " suite={}", config.suite).unwrap();
+
+ if let Some(compare_mode) = config.compare_mode.as_ref() {
+ write!(msg, " compare_mode={}", compare_mode).unwrap();
+ }
+
+ if let Some(pass_mode) = config.force_pass_mode.as_ref() {
+ write!(msg, " pass_mode={}", pass_mode).unwrap();
+ }
+
+ write!(msg, " mode={}", config.mode).unwrap();
+ write!(msg, " host={}", config.host).unwrap();
+ write!(msg, " target={}", config.target).unwrap();
+
+ println!("{msg}");
std::process::exit(1);
}