Skip to content

Commit 536d15a

Browse files
committed
restructure try_run_tests
1 parent 8199c95 commit 536d15a

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

src/bootstrap/src/utils/exec.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,15 @@ impl<'a> BootstrapCommand {
211211
exec_ctx.as_ref().start(self, OutputMode::Capture, OutputMode::Print)
212212
}
213213

214+
/// Spawn the command in background, while capturing and returns a handle to stream the output.
215+
#[track_caller]
216+
pub fn stream_capture(
217+
&'a mut self,
218+
exec_ctx: impl AsRef<ExecutionContext>,
219+
) -> Option<StreamingCommand> {
220+
exec_ctx.as_ref().stream(self, OutputMode::Capture, OutputMode::Capture)
221+
}
222+
214223
/// Spawn the command in background, while capturing and returning stdout, and printing stderr.
215224
/// Returns None in dry-mode
216225
#[track_caller]
@@ -223,7 +232,7 @@ impl<'a> BootstrapCommand {
223232

224233
/// Mark the command as being executed, disarming the drop bomb.
225234
/// If this method is not called before the command is dropped, its drop will panic.
226-
fn mark_as_executed(&mut self) {
235+
pub fn mark_as_executed(&mut self) {
227236
self.drop_bomb.defuse();
228237
}
229238

@@ -625,18 +634,12 @@ impl ExecutionContext {
625634
exit!(1);
626635
}
627636

628-
<<<<<<< HEAD
629-
pub fn stream<'a>(
630-
=======
631637
/// Spawns the command with configured stdout and stderr handling.
632638
///
633-
/// Returns `None` if in dry-run mode and the command is not allowed to run.
634-
///
635-
/// Panics if the command fails to spawn.
639+
/// Returns None if in dry-run mode or Panics if the command fails to spawn.
636640
pub fn stream(
637-
>>>>>>> c2e83361cec (add comment to exec)
638641
&self,
639-
command: &'a mut BootstrapCommand,
642+
command: &mut BootstrapCommand,
640643
stdout: OutputMode,
641644
stderr: OutputMode,
642645
) -> Option<StreamingCommand> {

src/bootstrap/src/utils/render_tests.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,17 @@ pub(crate) fn try_run_tests(
3434
cmd: &mut BootstrapCommand,
3535
stream: bool,
3636
) -> bool {
37-
if !run_tests(builder, cmd, stream) {
38-
if builder.fail_fast {
39-
crate::exit!(1);
40-
} else {
41-
builder.config.exec_ctx().add_to_delay_failure(format!("{cmd:?}"));
42-
false
43-
}
44-
} else {
45-
true
37+
if run_tests(builder, cmd, stream) {
38+
return true;
4639
}
40+
41+
if builder.fail_fast {
42+
crate::exit!(1);
43+
}
44+
45+
builder.config.exec_ctx().add_to_delay_failure(format!("{cmd:?}"));
46+
47+
false
4748
}
4849

4950
fn run_tests(builder: &Builder<'_>, cmd: &mut BootstrapCommand, stream: bool) -> bool {

0 commit comments

Comments
 (0)