@@ -48,32 +48,6 @@ const MIR_OPT_BLESS_TARGET_MAPPING: &[(&str, &str)] = &[
48
48
// build for, so there is no entry for "aarch64-apple-darwin" here.
49
49
] ;
50
50
51
- fn try_run ( builder : & Builder < ' _ > , cmd : & mut Command ) -> bool {
52
- if !builder. fail_fast {
53
- if builder. try_run ( cmd) . is_err ( ) {
54
- let mut failures = builder. delayed_failures . borrow_mut ( ) ;
55
- failures. push ( format ! ( "{:?}" , cmd) ) ;
56
- return false ;
57
- }
58
- } else {
59
- builder. run ( cmd) ;
60
- }
61
- true
62
- }
63
-
64
- fn try_run_quiet ( builder : & Builder < ' _ > , cmd : & mut Command ) -> bool {
65
- if !builder. fail_fast {
66
- if !builder. try_run_quiet ( cmd) {
67
- let mut failures = builder. delayed_failures . borrow_mut ( ) ;
68
- failures. push ( format ! ( "{:?}" , cmd) ) ;
69
- return false ;
70
- }
71
- } else {
72
- builder. run_quiet ( cmd) ;
73
- }
74
- true
75
- }
76
-
77
51
#[ derive( Debug , Copy , Clone , PartialEq , Eq , Hash ) ]
78
52
pub struct CrateBootstrap {
79
53
path : Interned < PathBuf > ,
@@ -193,7 +167,7 @@ You can skip linkcheck with --exclude src/tools/linkchecker"
193
167
let _guard =
194
168
builder. msg ( Kind :: Test , compiler. stage , "Linkcheck" , bootstrap_host, bootstrap_host) ;
195
169
let _time = util:: timeit ( & builder) ;
196
- try_run ( builder, linkchecker. arg ( builder. out . join ( host. triple ) . join ( "doc" ) ) ) ;
170
+ builder. run_delaying_failure ( linkchecker. arg ( builder. out . join ( host. triple ) . join ( "doc" ) ) ) ;
197
171
}
198
172
199
173
fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -246,7 +220,9 @@ impl Step for HtmlCheck {
246
220
builder. default_doc ( & [ ] ) ;
247
221
builder. ensure ( crate :: doc:: Rustc :: new ( builder. top_stage , self . target , builder) ) ;
248
222
249
- try_run ( builder, builder. tool_cmd ( Tool :: HtmlChecker ) . arg ( builder. doc_out ( self . target ) ) ) ;
223
+ builder. run_delaying_failure (
224
+ builder. tool_cmd ( Tool :: HtmlChecker ) . arg ( builder. doc_out ( self . target ) ) ,
225
+ ) ;
250
226
}
251
227
}
252
228
@@ -285,8 +261,7 @@ impl Step for Cargotest {
285
261
286
262
let _time = util:: timeit ( & builder) ;
287
263
let mut cmd = builder. tool_cmd ( Tool :: CargoTest ) ;
288
- try_run (
289
- builder,
264
+ builder. run_delaying_failure (
290
265
cmd. arg ( & cargo)
291
266
. arg ( & out_dir)
292
267
. args ( builder. config . test_args ( ) )
@@ -827,7 +802,8 @@ impl Step for Clippy {
827
802
828
803
let _guard = builder. msg_sysroot_tool ( Kind :: Test , compiler. stage , "clippy" , host, host) ;
829
804
830
- if builder. try_run ( & mut cargo) . is_ok ( ) {
805
+ #[ allow( deprecated) ] // Clippy reports errors if it blessed the outputs
806
+ if builder. config . try_run ( & mut cargo) . is_ok ( ) {
831
807
// The tests succeeded; nothing to do.
832
808
return ;
833
809
}
@@ -887,7 +863,7 @@ impl Step for RustdocTheme {
887
863
util:: lld_flag_no_threads ( self . compiler . host . contains ( "windows" ) ) ,
888
864
) ;
889
865
}
890
- try_run ( builder, & mut cmd) ;
866
+ builder. run_delaying_failure ( & mut cmd) ;
891
867
}
892
868
}
893
869
@@ -1147,7 +1123,7 @@ help: to skip test's attempt to check tidiness, pass `--exclude src/tools/tidy`
1147
1123
}
1148
1124
1149
1125
builder. info ( "tidy check" ) ;
1150
- try_run ( builder, & mut cmd) ;
1126
+ builder. run_delaying_failure ( & mut cmd) ;
1151
1127
1152
1128
builder. ensure ( ExpandYamlAnchors ) ;
1153
1129
@@ -1192,8 +1168,7 @@ impl Step for ExpandYamlAnchors {
1192
1168
/// by the user before committing CI changes.
1193
1169
fn run ( self , builder : & Builder < ' _ > ) {
1194
1170
builder. info ( "Ensuring the YAML anchors in the GitHub Actions config were expanded" ) ;
1195
- try_run (
1196
- builder,
1171
+ builder. run_delaying_failure (
1197
1172
& mut builder. tool_cmd ( Tool :: ExpandYamlAnchors ) . arg ( "check" ) . arg ( & builder. src ) ,
1198
1173
) ;
1199
1174
}
@@ -1982,7 +1957,7 @@ impl BookTest {
1982
1957
compiler. host ,
1983
1958
) ;
1984
1959
let _time = util:: timeit ( & builder) ;
1985
- let toolstate = if try_run ( builder, & mut rustbook_cmd) {
1960
+ let toolstate = if builder. run_delaying_failure ( & mut rustbook_cmd) {
1986
1961
ToolState :: TestPass
1987
1962
} else {
1988
1963
ToolState :: TestFail
@@ -2144,9 +2119,9 @@ fn markdown_test(builder: &Builder<'_>, compiler: Compiler, markdown: &Path) ->
2144
2119
cmd. arg ( "--test-args" ) . arg ( test_args) ;
2145
2120
2146
2121
if builder. config . verbose_tests {
2147
- try_run ( builder, & mut cmd)
2122
+ builder. run_delaying_failure ( & mut cmd)
2148
2123
} else {
2149
- try_run_quiet ( builder, & mut cmd)
2124
+ builder. run_quiet_delaying_failure ( & mut cmd)
2150
2125
}
2151
2126
}
2152
2127
@@ -2172,7 +2147,7 @@ impl Step for RustcGuide {
2172
2147
2173
2148
let src = builder. src . join ( relative_path) ;
2174
2149
let mut rustbook_cmd = builder. tool_cmd ( Tool :: Rustbook ) ;
2175
- let toolstate = if try_run ( builder, rustbook_cmd. arg ( "linkcheck" ) . arg ( & src) ) {
2150
+ let toolstate = if builder. run_delaying_failure ( rustbook_cmd. arg ( "linkcheck" ) . arg ( & src) ) {
2176
2151
ToolState :: TestPass
2177
2152
} else {
2178
2153
ToolState :: TestFail
@@ -2725,7 +2700,7 @@ impl Step for Bootstrap {
2725
2700
. current_dir ( builder. src . join ( "src/bootstrap/" ) ) ;
2726
2701
// NOTE: we intentionally don't pass test_args here because the args for unittest and cargo test are mutually incompatible.
2727
2702
// Use `python -m unittest` manually if you want to pass arguments.
2728
- try_run ( builder, & mut check_bootstrap) ;
2703
+ builder. run_delaying_failure ( & mut check_bootstrap) ;
2729
2704
2730
2705
let mut cmd = Command :: new ( & builder. initial_cargo ) ;
2731
2706
cmd. arg ( "test" )
@@ -2801,7 +2776,7 @@ impl Step for TierCheck {
2801
2776
self . compiler . host ,
2802
2777
self . compiler . host ,
2803
2778
) ;
2804
- try_run ( builder, & mut cargo. into ( ) ) ;
2779
+ builder. run_delaying_failure ( & mut cargo. into ( ) ) ;
2805
2780
}
2806
2781
}
2807
2782
@@ -2887,7 +2862,7 @@ impl Step for RustInstaller {
2887
2862
cmd. env ( "CARGO" , & builder. initial_cargo ) ;
2888
2863
cmd. env ( "RUSTC" , & builder. initial_rustc ) ;
2889
2864
cmd. env ( "TMP_DIR" , & tmpdir) ;
2890
- try_run ( builder, & mut cmd) ;
2865
+ builder. run_delaying_failure ( & mut cmd) ;
2891
2866
}
2892
2867
2893
2868
fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
0 commit comments