Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0de7b92

Browse files
committed
Removerun_delaying_failure
1 parente933cfb commit0de7b92

File tree

3 files changed

+32
-30
lines changed

3 files changed

+32
-30
lines changed

‎src/bootstrap/src/core/build_steps/test.rs‎

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,10 @@ You can skip linkcheck with --skip src/tools/linkchecker"
156156
let _guard =
157157
builder.msg(Kind::Test, compiler.stage,"Linkcheck", bootstrap_host, bootstrap_host);
158158
let _time = helpers::timeit(builder);
159-
builder.run_delaying_failure(linkchecker.arg(builder.out.join(host.triple).join("doc")));
159+
builder.run_tracked(
160+
BootstrapCommand::from(linkchecker.arg(builder.out.join(host.triple).join("doc")))
161+
.delay_failure(),
162+
);
160163
}
161164

162165
fnshould_run(run:ShouldRun<'_>) ->ShouldRun<'_>{
@@ -213,8 +216,11 @@ impl Step for HtmlCheck {
213216
builder,
214217
));
215218

216-
builder.run_delaying_failure(
217-
builder.tool_cmd(Tool::HtmlChecker).arg(builder.doc_out(self.target)),
219+
builder.run_tracked(
220+
BootstrapCommand::from(
221+
builder.tool_cmd(Tool::HtmlChecker).arg(builder.doc_out(self.target)),
222+
)
223+
.delay_failure(),
218224
);
219225
}
220226
}
@@ -261,7 +267,7 @@ impl Step for Cargotest {
261267
.env("RUSTC", builder.rustc(compiler))
262268
.env("RUSTDOC", builder.rustdoc(compiler));
263269
add_rustdoc_cargo_linker_args(cmd, builder, compiler.host,LldThreads::No);
264-
builder.run_delaying_failure(cmd);
270+
builder.run_tracked(BootstrapCommand::from(cmd).delay_failure());
265271
}
266272
}
267273

@@ -813,7 +819,7 @@ impl Step for RustdocTheme {
813819
.env("RUSTC_BOOTSTRAP","1");
814820
cmd.args(linker_args(builder,self.compiler.host,LldThreads::No));
815821

816-
builder.run_delaying_failure(&mut cmd);
822+
builder.run_tracked(BootstrapCommand::from(&mut cmd).delay_failure());
817823
}
818824
}
819825

@@ -1093,7 +1099,7 @@ HELP: to skip test's attempt to check tidiness, pass `--skip src/tools/tidy` to
10931099
}
10941100

10951101
builder.info("tidy check");
1096-
builder.run_delaying_failure(&mut cmd);
1102+
builder.run_tracked(BootstrapCommand::from(&mut cmd).delay_failure());
10971103

10981104
builder.info("x.py completions check");
10991105
let[bash, zsh, fish, powershell] =["x.py.sh","x.py.zsh","x.py.fish","x.py.ps1"]
@@ -2179,7 +2185,8 @@ impl BookTest {
21792185
compiler.host,
21802186
);
21812187
let _time = helpers::timeit(builder);
2182-
let toolstate =if builder.run_delaying_failure(&mut rustbook_cmd){
2188+
let cmd =BootstrapCommand::from(&mut rustbook_cmd).delay_failure();
2189+
let toolstate =if builder.run_tracked(cmd).is_success(){
21832190
ToolState::TestPass
21842191
}else{
21852192
ToolState::TestFail
@@ -2371,7 +2378,8 @@ impl Step for RustcGuide {
23712378

23722379
let src = builder.src.join(relative_path);
23732380
letmut rustbook_cmd = builder.tool_cmd(Tool::Rustbook);
2374-
let toolstate =if builder.run_delaying_failure(rustbook_cmd.arg("linkcheck").arg(&src)){
2381+
let cmd =BootstrapCommand::from(rustbook_cmd.arg("linkcheck").arg(&src)).delay_failure();
2382+
let toolstate =if builder.run_tracked(cmd).is_success(){
23752383
ToolState::TestPass
23762384
}else{
23772385
ToolState::TestFail
@@ -2985,7 +2993,7 @@ impl Step for Bootstrap {
29852993
.current_dir(builder.src.join("src/bootstrap/"));
29862994
// NOTE: we intentionally don't pass test_args here because the args for unittest and cargo test are mutually incompatible.
29872995
// Use `python -m unittest` manually if you want to pass arguments.
2988-
builder.run_delaying_failure(&mut check_bootstrap);
2996+
builder.run_tracked(BootstrapCommand::from(&mut check_bootstrap).delay_failure());
29892997

29902998
letmut cmd =Command::new(&builder.initial_cargo);
29912999
cmd.arg("test")
@@ -3062,7 +3070,7 @@ impl Step for TierCheck {
30623070
self.compiler.host,
30633071
self.compiler.host,
30643072
);
3065-
builder.run_delaying_failure(&mut cargo.into());
3073+
builder.run_tracked(BootstrapCommand::from(&mut cargo.into()).delay_failure());
30663074
}
30673075
}
30683076

@@ -3148,7 +3156,7 @@ impl Step for RustInstaller {
31483156
cmd.env("CARGO",&builder.initial_cargo);
31493157
cmd.env("RUSTC",&builder.initial_rustc);
31503158
cmd.env("TMP_DIR",&tmpdir);
3151-
builder.run_delaying_failure(&mut cmd);
3159+
builder.run_tracked(BootstrapCommand::from(&mut cmd).delay_failure());
31523160
}
31533161

31543162
fnshould_run(run:ShouldRun<'_>) ->ShouldRun<'_>{

‎src/bootstrap/src/lib.rs‎

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,11 @@ impl Build {
966966

967967
self.verbose(||println!("running: {command:?}"));
968968

969-
let(output, print_error):(io::Result<CommandOutput>,bool) =match command.output_mode{
969+
let output_mode = command.output_mode.unwrap_or_else(||matchself.is_verbose(){
970+
true =>OutputMode::PrintAll,
971+
false =>OutputMode::PrintOutput,
972+
});
973+
let(output, print_error):(io::Result<CommandOutput>,bool) =match output_mode{
970974
mode @(OutputMode::PrintAll |OutputMode::PrintOutput) =>(
971975
command.command.status().map(|status| status.into()),
972976
matches!(mode,OutputMode::PrintAll),
@@ -1028,16 +1032,6 @@ impl Build {
10281032
));
10291033
}
10301034

1031-
/// Runs a command, printing out contextual info if it fails, and delaying errors until the build finishes.
1032-
pub(crate)fnrun_delaying_failure(&self,cmd:&mutCommand) ->bool{
1033-
self.run_cmd(BootstrapCommand::from(cmd).delay_failure().output_mode(
1034-
matchself.is_verbose(){
1035-
true =>OutputMode::PrintAll,
1036-
false =>OutputMode::PrintOutput,
1037-
},
1038-
))
1039-
}
1040-
10411035
/// A centralized function for running commands that do not return output.
10421036
pub(crate)fnrun_cmd<'a,C:Into<BootstrapCommand<'a>>>(&self,cmd:C) ->bool{
10431037
ifself.config.dry_run(){
@@ -1047,7 +1041,11 @@ impl Build {
10471041
let command = cmd.into();
10481042
self.verbose(||println!("running: {command:?}"));
10491043

1050-
let(output, print_error) =match command.output_mode{
1044+
let output_mode = command.output_mode.unwrap_or_else(||matchself.is_verbose(){
1045+
true =>OutputMode::PrintAll,
1046+
false =>OutputMode::PrintOutput,
1047+
});
1048+
let(output, print_error) =match output_mode{
10511049
mode @(OutputMode::PrintAll |OutputMode::PrintOutput) =>(
10521050
command.command.status().map(|status|Output{
10531051
status,

‎src/bootstrap/src/utils/exec.rs‎

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ pub enum OutputMode {
2828
pubstructBootstrapCommand<'a>{
2929
pubcommand:&'amutCommand,
3030
pubfailure_behavior:BehaviorOnFailure,
31-
puboutput_mode:OutputMode,
31+
puboutput_mode:Option<OutputMode>,
3232
}
3333

3434
impl<'a>BootstrapCommand<'a>{
@@ -50,17 +50,13 @@ impl<'a> BootstrapCommand<'a> {
5050
}
5151

5252
pubfnoutput_mode(self,output_mode:OutputMode) ->Self{
53-
Self{ output_mode, ..self}
53+
Self{output_mode:Some(output_mode), ..self}
5454
}
5555
}
5656

5757
impl<'a>From<&'amutCommand>forBootstrapCommand<'a>{
5858
fnfrom(command:&'amutCommand) ->Self{
59-
Self{
60-
command,
61-
failure_behavior:BehaviorOnFailure::Exit,
62-
output_mode:OutputMode::PrintAll,
63-
}
59+
Self{ command,failure_behavior:BehaviorOnFailure::Exit,output_mode:None}
6460
}
6561
}
6662

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp