@@ -96,7 +96,7 @@ impl Step for CrateBootstrap {
9696        ) ; 
9797
9898        let  crate_name = path. rsplit_once ( '/' ) . unwrap ( ) . 1 ; 
99-         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  crate_name,  bootstrap_host,  builder,   Mode :: ToolBootstrap ) ; 
99+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  crate_name,  bootstrap_host,  builder) ; 
100100    } 
101101
102102    fn  metadata ( & self )  -> Option < StepMetadata >  { 
@@ -153,15 +153,7 @@ You can skip linkcheck with --skip src/tools/linkchecker"
153153            SourceType :: InTree , 
154154            & [ ] , 
155155        ) ; 
156-         run_cargo_test ( 
157-             cargo, 
158-             & [ ] , 
159-             & [ ] , 
160-             "linkchecker self tests" , 
161-             bootstrap_host, 
162-             builder, 
163-             Mode :: ToolBootstrap , 
164-         ) ; 
156+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "linkchecker self tests" ,  bootstrap_host,  builder) ; 
165157
166158        if  builder. doc_tests  == DocTests :: No  { 
167159            return ; 
@@ -174,7 +166,7 @@ You can skip linkcheck with --skip src/tools/linkchecker"
174166        let  linkchecker = builder. tool_cmd ( Tool :: Linkchecker ) ; 
175167
176168        // Run the linkchecker. 
177-         let  _guard = builder. msg ( Kind :: Test ,   "Linkcheck" ,  None ,  compiler ,  bootstrap_host ) ; 
169+         let  _guard = builder. msg_test ( "Linkcheck" ,  bootstrap_host ,   1 ) ; 
178170        let  _time = helpers:: timeit ( builder) ; 
179171        linkchecker. delay_failure ( ) . arg ( builder. out . join ( host) . join ( "doc" ) ) . run ( builder) ; 
180172    } 
@@ -482,7 +474,7 @@ impl Step for RustAnalyzer {
482474        cargo. env ( "SKIP_SLOW_TESTS" ,  "1" ) ; 
483475
484476        cargo. add_rustc_lib_path ( builder) ; 
485-         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "rust-analyzer" ,  host,  builder,   Mode :: ToolRustc ) ; 
477+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "rust-analyzer" ,  host,  builder) ; 
486478    } 
487479
488480    fn  metadata ( & self )  -> Option < StepMetadata >  { 
@@ -540,7 +532,7 @@ impl Step for Rustfmt {
540532
541533        cargo. add_rustc_lib_path ( builder) ; 
542534
543-         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "rustfmt" ,  target,  builder,   Mode :: ToolRustc ) ; 
535+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "rustfmt" ,  target,  builder) ; 
544536    } 
545537
546538    fn  metadata ( & self )  -> Option < StepMetadata >  { 
@@ -679,8 +671,7 @@ impl Step for Miri {
679671        cargo. env ( "MIRI_TEST_TARGET" ,  target. rustc_target_arg ( ) ) ; 
680672
681673        { 
682-             let  _guard =
683-                 builder. msg ( Kind :: Test ,  "miri" ,  Mode :: ToolRustc ,  miri. build_compiler ,  target) ; 
674+             let  _guard = builder. msg_test ( "miri" ,  target,  target_compiler. stage ) ; 
684675            let  _time = helpers:: timeit ( builder) ; 
685676            cargo. run ( builder) ; 
686677        } 
@@ -696,13 +687,8 @@ impl Step for Miri {
696687            cargo. args ( [ "tests/pass" ,  "tests/panic" ] ) ; 
697688
698689            { 
699-                 let  _guard = builder. msg ( 
700-                     Kind :: Test , 
701-                     "miri (mir-opt-level 4)" , 
702-                     Mode :: ToolRustc , 
703-                     miri. build_compiler , 
704-                     target, 
705-                 ) ; 
690+                 let  _guard =
691+                     builder. msg_test ( "miri (mir-opt-level 4)" ,  target,  target_compiler. stage ) ; 
706692                let  _time = helpers:: timeit ( builder) ; 
707693                cargo. run ( builder) ; 
708694            } 
@@ -772,8 +758,7 @@ impl Step for CargoMiri {
772758        // Finally, run everything. 
773759        let  mut  cargo = BootstrapCommand :: from ( cargo) ; 
774760        { 
775-             let  _guard =
776-                 builder. msg ( Kind :: Test ,  "cargo-miri" ,  Mode :: ToolRustc ,  ( host,  stage) ,  target) ; 
761+             let  _guard = builder. msg_test ( "cargo-miri" ,  target,  stage) ; 
777762            let  _time = helpers:: timeit ( builder) ; 
778763            cargo. run ( builder) ; 
779764        } 
@@ -833,7 +818,7 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
833818        cargo. env ( "TEST_RUSTC" ,  builder. rustc ( compiler) ) ; 
834819
835820        cargo. allow_features ( COMPILETEST_ALLOW_FEATURES ) ; 
836-         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "compiletest self test" ,  host,  builder,   Mode :: ToolStd ) ; 
821+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "compiletest self test" ,  host,  builder) ; 
837822    } 
838823} 
839824
@@ -916,7 +901,7 @@ impl Step for Clippy {
916901        cargo. add_rustc_lib_path ( builder) ; 
917902        let  cargo = prepare_cargo_test ( cargo,  & [ ] ,  & [ ] ,  target,  builder) ; 
918903
919-         let  _guard = builder. msg ( Kind :: Test ,   "clippy" ,  Mode :: ToolRustc ,  build_compiler ,  target ) ; 
904+         let  _guard = builder. msg_test ( "clippy" ,  target ,  target_compiler . stage ) ; 
920905
921906        // Clippy reports errors if it blessed the outputs 
922907        if  cargo. allow_failure ( ) . run ( builder)  { 
@@ -1046,8 +1031,7 @@ impl Step for RustdocJSStd {
10461031            self . target , 
10471032            DocumentationFormat :: Html , 
10481033        ) ) ; 
1049-         let  _guard =
1050-             builder. msg ( Kind :: Test ,  "rustdoc-js-std" ,  None ,  self . build_compiler ,  self . target ) ; 
1034+         let  _guard = builder. msg_test ( "rustdoc-js-std" ,  self . target ,  self . build_compiler . stage ) ; 
10511035        command. run ( builder) ; 
10521036    } 
10531037
@@ -1200,7 +1184,7 @@ impl Step for RustdocGUI {
12001184        } 
12011185
12021186        let  _time = helpers:: timeit ( builder) ; 
1203-         let  _guard = builder. msg_test ( "rustdoc-gui" ,  ( self . target ,  self . test_compiler . stage ) ) ; 
1187+         let  _guard = builder. msg_test ( "rustdoc-gui" ,  self . target ,  self . test_compiler . stage ) ; 
12041188        try_run_tests ( builder,  & mut  cmd,  true ) ; 
12051189    } 
12061190
@@ -1359,15 +1343,7 @@ impl Step for CrateRunMakeSupport {
13591343            & [ ] , 
13601344        ) ; 
13611345        cargo. allow_features ( "test" ) ; 
1362-         run_cargo_test ( 
1363-             cargo, 
1364-             & [ ] , 
1365-             & [ ] , 
1366-             "run-make-support self test" , 
1367-             host, 
1368-             builder, 
1369-             Mode :: ToolBootstrap , 
1370-         ) ; 
1346+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "run-make-support self test" ,  host,  builder) ; 
13711347    } 
13721348} 
13731349
@@ -1404,15 +1380,7 @@ impl Step for CrateBuildHelper {
14041380            & [ ] , 
14051381        ) ; 
14061382        cargo. allow_features ( "test" ) ; 
1407-         run_cargo_test ( 
1408-             cargo, 
1409-             & [ ] , 
1410-             & [ ] , 
1411-             "build_helper self test" , 
1412-             host, 
1413-             builder, 
1414-             Mode :: ToolBootstrap , 
1415-         ) ; 
1383+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  "build_helper self test" ,  host,  builder) ; 
14161384    } 
14171385} 
14181386
@@ -1724,7 +1692,7 @@ impl Step for MirOpt {
17241692/// 
17251693/// Compiles all tests with `test_compiler` for `target` with the specified 
17261694/// compiletest `mode` and `suite` arguments. For example `mode` can be 
1727- /// "run-pass" or  `suite` can be something like ` debuginfo` . 
1695+ /// "mir-opt" and  `suite` can be something like " debuginfo" . 
17281696#[ derive( Debug ,  Clone ,  PartialEq ,  Eq ,  Hash ) ]  
17291697struct  Compiletest  { 
17301698    /// The compiler that we're testing. 
@@ -1920,7 +1888,11 @@ NOTE: if you're sure you want to do this, please open an issue as to why. In the
19201888        cmd. arg ( "--llvm-filecheck" ) . arg ( builder. llvm_filecheck ( builder. config . host_target ) ) ; 
19211889
19221890        if  let  Some ( codegen_backend)  = builder. config . cmd . test_codegen_backend ( )  { 
1923-             if  !builder. config . enabled_codegen_backends ( test_compiler. host ) . contains ( codegen_backend)  { 
1891+             if  !builder
1892+                 . config 
1893+                 . enabled_codegen_backends ( test_compiler. host ) 
1894+                 . contains ( codegen_backend) 
1895+             { 
19241896                eprintln ! ( 
19251897                    "\  
19261898
@@ -2326,19 +2298,16 @@ HELP: You can add it into `bootstrap.toml` in `rust.codegen-backends = [{name:?}
23262298                mode :  mode. into ( ) , 
23272299                compare_mode :  None , 
23282300                target :  self . target . triple . to_string ( ) , 
2329-                 host :  self . compiler . host . triple . to_string ( ) , 
2330-                 stage :  self . compiler . stage , 
2301+                 host :  self . test_compiler . host . triple . to_string ( ) , 
2302+                 stage :  self . test_compiler . stage , 
23312303            } , 
23322304            builder, 
23332305        ) ; 
23342306
2335-         let  _group = builder. msg ( 
2336-             Kind :: Test , 
2337-             format ! ( "compiletest suite={suite} mode={mode}" ) , 
2338-             // FIXME: compiletest sometimes behaves as ToolStd, we could expose that difference here 
2339-             Mode :: ToolBootstrap , 
2340-             test_compiler, 
2307+         let  _group = builder. msg_test ( 
2308+             format ! ( "with compiletest suite={suite} mode={mode}" ) , 
23412309            target, 
2310+             test_compiler. stage , 
23422311        ) ; 
23432312        try_run_tests ( builder,  & mut  cmd,  false ) ; 
23442313
@@ -2352,8 +2321,8 @@ HELP: You can add it into `bootstrap.toml` in `rust.codegen-backends = [{name:?}
23522321                    mode :  mode. into ( ) , 
23532322                    compare_mode :  Some ( compare_mode. into ( ) ) , 
23542323                    target :  self . target . triple . to_string ( ) , 
2355-                     host :  self . compiler . host . triple . to_string ( ) , 
2356-                     stage :  self . compiler . stage , 
2324+                     host :  self . test_compiler . host . triple . to_string ( ) , 
2325+                     stage :  self . test_compiler . stage , 
23572326                } , 
23582327                builder, 
23592328            ) ; 
@@ -2482,12 +2451,10 @@ impl BookTest {
24822451        } 
24832452
24842453        builder. add_rust_test_threads ( & mut  rustbook_cmd) ; 
2485-         let  _guard = builder. msg ( 
2486-             Kind :: Test , 
2454+         let  _guard = builder. msg_test ( 
24872455            format_args ! ( "mdbook {}" ,  self . path. display( ) ) , 
2488-             None , 
2489-             test_compiler, 
24902456            test_compiler. host , 
2457+             test_compiler. stage , 
24912458        ) ; 
24922459        let  _time = helpers:: timeit ( builder) ; 
24932460        let  toolstate = if  rustbook_cmd. delay_failure ( ) . run ( builder)  { 
@@ -2505,12 +2472,10 @@ impl BookTest {
25052472
25062473        builder. std ( test_compiler,  host) ; 
25072474
2508-         let  _guard = builder. msg ( 
2509-             Kind :: Test , 
2475+         let  _guard = builder. msg_test ( 
25102476            format ! ( "book {}" ,  self . name) , 
2511-             None , 
2512-             ( test_compiler. host ,  test_compiler. stage  - 1 ) , 
2513-             host, 
2477+             test_compiler. host , 
2478+             test_compiler. stage , 
25142479        ) ; 
25152480
25162481        // Do a breadth-first traversal of the `src/doc` directory and just run 
@@ -2653,13 +2618,7 @@ impl Step for ErrorIndex {
26532618        let  mut  tool = tool:: ErrorIndex :: command ( builder,  self . compilers ) ; 
26542619        tool. arg ( "markdown" ) . arg ( & output) ; 
26552620
2656-         let  guard = builder. msg ( 
2657-             Kind :: Test , 
2658-             "error-index" , 
2659-             None , 
2660-             self . compilers . build_compiler ( ) , 
2661-             target_compiler. host , 
2662-         ) ; 
2621+         let  guard = builder. msg_test ( "error-index" ,  target_compiler. host ,  target_compiler. stage ) ; 
26632622        let  _time = helpers:: timeit ( builder) ; 
26642623        tool. run_capture ( builder) ; 
26652624        drop ( guard) ; 
@@ -2755,14 +2714,12 @@ fn run_cargo_test<'a>(
27552714    description :  impl  Into < Option < & ' a  str > > , 
27562715    target :  TargetSelection , 
27572716    builder :  & Builder < ' _ > , 
2758-     mode :  impl  Into < Option < Mode > > , 
27592717)  -> bool  { 
2760-     let  mode = mode. into ( ) ; 
27612718    let  compiler = cargo. compiler ( ) ; 
27622719    let  mut  cargo = prepare_cargo_test ( cargo,  libtest_args,  crates,  target,  builder) ; 
27632720    let  _time = helpers:: timeit ( builder) ; 
27642721    let  _group =
2765-         description. into ( ) . and_then ( |what| builder. msg ( Kind :: Test ,   what,  mode ,  compiler,  target ) ) ; 
2722+         description. into ( ) . and_then ( |what| builder. msg_test ( what,  target ,  compiler. stage  +  1 ) ) ; 
27662723
27672724    #[ cfg( feature = "build-metrics" ) ]  
27682725    builder. metrics . begin_test_suite ( 
@@ -2989,15 +2946,7 @@ impl Step for Crate {
29892946            crates. push ( "alloctests" . to_owned ( ) ) ; 
29902947        } 
29912948
2992-         run_cargo_test ( 
2993-             cargo, 
2994-             & [ ] , 
2995-             & crates, 
2996-             & * crate_description ( & self . crates ) , 
2997-             target, 
2998-             builder, 
2999-             mode, 
3000-         ) ; 
2949+         run_cargo_test ( cargo,  & [ ] ,  & crates,  & * crate_description ( & self . crates ) ,  target,  builder) ; 
30012950    } 
30022951} 
30032952
@@ -3091,15 +3040,7 @@ impl Step for CrateRustdoc {
30913040        dylib_path. insert ( 0 ,  PathBuf :: from ( & * libdir) ) ; 
30923041        cargo. env ( dylib_path_var ( ) ,  env:: join_paths ( & dylib_path) . unwrap ( ) ) ; 
30933042
3094-         run_cargo_test ( 
3095-             cargo, 
3096-             & [ ] , 
3097-             & [ "rustdoc:0.0.0" . to_string ( ) ] , 
3098-             "rustdoc" , 
3099-             target, 
3100-             builder, 
3101-             Mode :: ToolRustc , 
3102-         ) ; 
3043+         run_cargo_test ( cargo,  & [ ] ,  & [ "rustdoc:0.0.0" . to_string ( ) ] ,  "rustdoc" ,  target,  builder) ; 
31033044    } 
31043045} 
31053046
@@ -3158,7 +3099,6 @@ impl Step for CrateRustdocJsonTypes {
31583099            "rustdoc-json-types" , 
31593100            target, 
31603101            builder, 
3161-             Mode :: ToolTarget , 
31623102        ) ; 
31633103    } 
31643104} 
@@ -3316,8 +3256,6 @@ impl Step for Bootstrap {
33163256fn  run ( self ,  builder :  & Builder < ' _ > )  { 
33173257        let  host = builder. config . host_target ; 
33183258        let  build_compiler = builder. compiler ( 0 ,  host) ; 
3319-         let  _guard =
3320-             builder. msg ( Kind :: Test ,  "bootstrap" ,  Mode :: ToolBootstrap ,  build_compiler,  host) ; 
33213259
33223260        // Some tests require cargo submodule to be present. 
33233261        builder. build . require_submodule ( "src/tools/cargo" ,  None ) ; 
@@ -3356,7 +3294,7 @@ impl Step for Bootstrap {
33563294
33573295        // bootstrap tests are racy on directory creation so just run them one at a time. 
33583296        // Since there's not many this shouldn't be a problem. 
3359-         run_cargo_test ( cargo,  & [ "--test-threads=1" ] ,  & [ ] ,  None ,  host,  builder,   Mode :: ToolBootstrap ) ; 
3297+         run_cargo_test ( cargo,  & [ "--test-threads=1" ] ,  & [ ] ,  None ,  host,  builder) ; 
33603298    } 
33613299
33623300    fn  should_run ( run :  ShouldRun < ' _ > )  -> ShouldRun < ' _ >  { 
@@ -3416,7 +3354,11 @@ impl Step for TierCheck {
34163354            cargo. arg ( "--verbose" ) ; 
34173355        } 
34183356
3419-         let  _guard = builder. msg_test ( "platform support check" ,  self . test_compiler ) ; 
3357+         let  _guard = builder. msg_test ( 
3358+             "platform support check" , 
3359+             self . test_compiler . host , 
3360+             self . test_compiler . stage , 
3361+         ) ; 
34203362        BootstrapCommand :: from ( cargo) . delay_failure ( ) . run ( builder) ; 
34213363    } 
34223364
@@ -3495,9 +3437,8 @@ impl Step for RustInstaller {
34953437            & [ ] , 
34963438        ) ; 
34973439
3498-         let  _guard =
3499-             builder. msg ( Kind :: Test ,  "rust-installer" ,  None ,  build_compiler,  bootstrap_host) ; 
3500-         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  None ,  bootstrap_host,  builder,  Mode :: ToolBootstrap ) ; 
3440+         let  _guard = builder. msg_test ( "rust-installer" ,  bootstrap_host,  1 ) ; 
3441+         run_cargo_test ( cargo,  & [ ] ,  & [ ] ,  None ,  bootstrap_host,  builder) ; 
35013442
35023443        // We currently don't support running the test.sh script outside linux(?) environments. 
35033444        // Eventually this should likely migrate to #[test]s in rust-installer proper rather than a 
@@ -3668,7 +3609,11 @@ impl Step for CodegenCranelift {
36683609        // Avoid incremental cache issues when changing rustc 
36693610        cargo. env ( "CARGO_BUILD_INCREMENTAL" ,  "false" ) ; 
36703611
3671-         let  _guard = builder. msg_test ( "rustc_codegen_cranelift" ,  target_compiler) ; 
3612+         let  _guard = builder. msg_test ( 
3613+             "rustc_codegen_cranelift" , 
3614+             target_compiler. host , 
3615+             target_compiler. stage , 
3616+         ) ; 
36723617
36733618        // FIXME handle vendoring for source tarballs before removing the --skip-test below 
36743619        let  download_dir = builder. out . join ( "cg_clif_download" ) ; 
@@ -3763,7 +3708,11 @@ impl Step for CodegenGCC {
37633708                . extra_rust_args ( & [ "-Csymbol-mangling-version=v0" ,  "-Cpanic=abort" ] ) , 
37643709        ) ; 
37653710
3766-         let  _guard = builder. msg_test ( "rustc_codegen_gcc" ,  compilers. build_compiler ( ) ) ; 
3711+         let  _guard = builder. msg_test ( 
3712+             "rustc_codegen_gcc" , 
3713+             compilers. target ( ) , 
3714+             compilers. target_compiler ( ) . stage , 
3715+         ) ; 
37673716
37683717        let  mut  cargo = builder:: Cargo :: new ( 
37693718            builder, 
@@ -3868,7 +3817,7 @@ impl Step for TestFloatParse {
38683817        ) ; 
38693818        cargo_test. allow_features ( TEST_FLOAT_PARSE_ALLOW_FEATURES ) ; 
38703819
3871-         run_cargo_test ( cargo_test,  & [ ] ,  & [ ] ,  "test-float-parse" ,  target,  builder,   Mode :: ToolStd ) ; 
3820+         run_cargo_test ( cargo_test,  & [ ] ,  & [ ] ,  "test-float-parse" ,  target,  builder) ; 
38723821
38733822        // Run the actual parse tests. 
38743823        let  mut  cargo_run = tool:: prepare_tool_cargo ( 
0 commit comments