about summary refs log tree commit diff
path: root/src/tools
diff options
context:
space:
mode:
authorjyn <github@jyn.dev>2024-12-12 08:07:59 -0500
committerjyn <github@jyn.dev>2024-12-14 20:46:00 -0500
commit056eb758e7e68df9c1cdcc3a91a07372df4de49c (patch)
tree7eec5d74f6d5cbc036c5ef621e5b4a094b99b0ff /src/tools
parentda535b9155fdab852dfd18006a5585612e50a70c (diff)
downloadrust-056eb758e7e68df9c1cdcc3a91a07372df4de49c.tar.gz
rust-056eb758e7e68df9c1cdcc3a91a07372df4de49c.zip
show which test the `rmake` process belongs to
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/compiletest/src/runtest.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
index 4a4494a1e23..8af4325e7b1 100644
--- a/src/tools/compiletest/src/runtest.rs
+++ b/src/tools/compiletest/src/runtest.rs
@@ -1,6 +1,6 @@
 use std::borrow::Cow;
 use std::collections::{HashMap, HashSet};
-use std::ffi::OsString;
+use std::ffi::{OsStr, OsString};
 use std::fs::{self, File, create_dir_all};
 use std::hash::{DefaultHasher, Hash, Hasher};
 use std::io::prelude::*;
@@ -1836,7 +1836,20 @@ impl<'test> TestCx<'test> {
             return;
         }
 
-        let proc_name = Path::new(proc_name).file_name().unwrap().to_string_lossy();
+        let path = Path::new(proc_name);
+        let proc_name = if path.file_stem().is_some_and(|p| p == "rmake") {
+            OsString::from_iter(
+                path.parent()
+                    .unwrap()
+                    .file_name()
+                    .into_iter()
+                    .chain(Some(OsStr::new("/")))
+                    .chain(path.file_name()),
+            )
+        } else {
+            path.file_name().unwrap().into()
+        };
+        let proc_name = proc_name.to_string_lossy();
         println!("------{proc_name} stdout------------------------------");
         println!("{}", out);
         println!("------{proc_name} stderr------------------------------");