Skip to content

Commit

Permalink
Remove update_status
Browse files Browse the repository at this point in the history
  • Loading branch information
oli-obk committed Aug 15, 2024
1 parent bbe74aa commit 7599f58
Show file tree
Hide file tree
Showing 9 changed files with 95 additions and 31 deletions.
22 changes: 15 additions & 7 deletions src/dependencies.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ use crate::{
custom_flags::Flag,
per_test_config::TestConfig,
test_result::Errored,
CommandBuilder, Config, OutputConflictHandling,
CommandBuilder, Config, OutputConflictHandling, TestOk,
};

#[derive(Default, Debug)]
Expand Down Expand Up @@ -390,13 +390,21 @@ impl Flag for DependencyBuilder {
config: &TestConfig<'_>,
build_manager: &BuildManager<'_>,
) -> Result<(), Errored> {
config
let status = config
.status
.update_status("waiting for dependencies to finish building".into());
let extra_args = build_manager.build(self.clone())?;
cmd.args(extra_args);
config.status.update_status(String::new());
Ok(())
.for_revision("waiting for dependencies to finish building".into());
match build_manager.build(self.clone()) {
Ok(extra_args) => {
cmd.args(extra_args);
status.done(&Ok(TestOk::Ok));
Ok(())
}
Err(err) => {
let err = Err(err);
status.done(&err);
return Err(err.unwrap_err());
}
}
}
}

Expand Down
24 changes: 0 additions & 24 deletions src/status_emitter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,6 @@ pub trait TestStatus: Send + Sync + RefUnwindSafe {
stdout: &'a [u8],
) -> Box<dyn Debug + 'a>;

/// Change the status of the test while it is running to supply some kind of progress
fn update_status(&self, msg: String);

/// A test has finished, handle the result immediately.
fn done(&self, _result: &TestResult) {}

Expand Down Expand Up @@ -134,8 +131,6 @@ impl TestStatus for SilentStatus {
Box::new(())
}

fn update_status(&self, _msg: String) {}

fn path(&self) -> &Path {
&self.path
}
Expand Down Expand Up @@ -179,7 +174,6 @@ enum Msg {
Inc,
IncLength,
Finish,
Status(String, String),
}

impl Text {
Expand Down Expand Up @@ -212,9 +206,6 @@ impl Text {
spinner.finish_and_clear();
}
}
Msg::Status(msg, status) => {
threads.get_mut(&msg).unwrap().set_message(status);
}
Msg::Push(msg) => {
let spinner =
bars.add(ProgressBar::new_spinner().with_prefix(msg.clone()));
Expand Down Expand Up @@ -329,10 +320,6 @@ impl TestStatus for TextTest {
}
}

fn update_status(&self, msg: String) {
self.text.sender.send(Msg::Status(self.msg(), msg)).unwrap();
}

fn failed_test<'a>(
&self,
cmd: &str,
Expand Down Expand Up @@ -946,8 +933,6 @@ impl<const GROUP: bool> TestStatus for PathAndRev<GROUP> {
fn revision(&self) -> &str {
&self.revision
}

fn update_status(&self, _msg: String) {}
}

impl<const GROUP: bool> StatusEmitter for Gha<GROUP> {
Expand Down Expand Up @@ -1057,11 +1042,6 @@ impl<T: TestStatus, U: TestStatus> TestStatus for (T, U) {
fn for_path(&self, path: &Path) -> Box<dyn TestStatus> {
Box::new((self.0.for_path(path), self.1.for_path(path)))
}

fn update_status(&self, msg: String) {
self.0.update_status(msg.clone());
self.1.update_status(msg)
}
}

impl<T: StatusEmitter, U: StatusEmitter> StatusEmitter for (T, U) {
Expand Down Expand Up @@ -1115,10 +1095,6 @@ impl<T: TestStatus + ?Sized> TestStatus for Box<T> {
) -> Box<dyn Debug + 'a> {
(**self).failed_test(cmd, stderr, stdout)
}

fn update_status(&self, msg: String) {
(**self).update_status(msg)
}
}

impl<T: StatusEmitter + ?Sized> StatusEmitter for Box<T> {
Expand Down
1 change: 1 addition & 0 deletions src/test_result.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use crate::{status_emitter::TestStatus, Error};
use color_eyre::eyre::Result;

/// The possible non-failure results a single test can have.
#[derive(Debug)]
pub enum TestOk {
/// The test passed
Ok,
Expand Down
1 change: 1 addition & 0 deletions tests/integrations/basic-bin/Cargo.stdout
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished

Building dependencies ... ok
tests/actual_tests/foomp.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp.rs ... ok

test result: ok. 1 passed
Expand Down
1 change: 1 addition & 0 deletions tests/integrations/basic-fail-mode/Cargo.stdout
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ running 3 tests
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished

Building dependencies ... ok
tests/actual_tests/foomp.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp.rs ... ok

test result: ok. 1 passed
Expand Down
47 changes: 47 additions & 0 deletions tests/integrations/basic-fail/Cargo.stdout
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,26 @@ running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished

Building dependencies ... ok
tests/actual_tests/bad_pattern.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/bad_pattern.rs ... FAILED
tests/actual_tests/executable.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/executable.rs (revision `run`) ... FAILED
tests/actual_tests/executable.rs ... ok
tests/actual_tests/executable_compile_err.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/executable_compile_err.rs ... FAILED
tests/actual_tests/exit_code_fail.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/exit_code_fail.rs ... FAILED
tests/actual_tests/filters.rs ... FAILED
tests/actual_tests/foomp.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp.rs ... FAILED
tests/actual_tests/foomp2.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp2.rs ... FAILED
tests/actual_tests/inline_chain.rs ... FAILED
tests/actual_tests/joined_wrong_order.rs ... FAILED
tests/actual_tests/lone_joined_pattern.rs ... FAILED
tests/actual_tests/pattern_too_many_arrow.rs ... FAILED
tests/actual_tests/pattern_too_many_arrow_above.rs ... FAILED
tests/actual_tests/rustc_ice.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/rustc_ice.rs ... FAILED
tests/actual_tests/touching_above_below.rs ... FAILED
tests/actual_tests/touching_above_below_chain.rs ... FAILED
Expand Down Expand Up @@ -455,58 +462,90 @@ FAILURES:
test result: FAIL. 15 failed; 1 passed

Building dependencies ... ok
tests/actual_tests_bless/abort.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/abort.rs (revision `run`) ... FAILED
tests/actual_tests_bless/abort.rs ... ok
tests/actual_tests_bless/aux_build_not_found.rs ... FAILED
tests/actual_tests_bless/aux_proc_macro_misuse.rs ... FAILED
Building aux file tests/actual_tests_bless/auxiliary/the_proc_macro.rs ... ok
tests/actual_tests_bless/aux_proc_macro_no_main.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/aux_proc_macro_no_main.rs ... FAILED
tests/actual_tests_bless/compile_flags_quotes.rs ... FAILED
tests/actual_tests_bless/compiletest-rs-command.rs ... FAILED
tests/actual_tests_bless/failing_executable.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/failing_executable.rs (revision `run`) ... FAILED
tests/actual_tests_bless/failing_executable.rs ... ok
Building aux file tests/actual_tests_bless/auxiliary/foomp.rs ... ok
tests/actual_tests_bless/foomp_aux.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/foomp_aux.rs ... ok
Building aux file tests/actual_tests_bless/auxiliary/nested.rs ... ok
tests/actual_tests_bless/nested_aux.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/nested_aux.rs ... ok
tests/actual_tests_bless/no_main.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/no_main.rs ... FAILED
tests/actual_tests_bless/no_main_manual.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/no_main_manual.rs ... FAILED
tests/actual_tests_bless/no_test.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/no_test.rs ... FAILED
tests/actual_tests_bless/non_top_level_configs.rs ... FAILED
tests/actual_tests_bless/pass.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/pass.rs ... ok
tests/actual_tests_bless/pass_with_annotation.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/pass_with_annotation.rs ... FAILED
tests/actual_tests_bless/revised_revision.rs ... FAILED
tests/actual_tests_bless/revisioned_executable.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisioned_executable.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisioned_executable.rs (revision `run.run`) ... ok
tests/actual_tests_bless/revisioned_executable.rs (revision `run`) ... ok
tests/actual_tests_bless/revisioned_executable.rs (revision `panic.run`) ... FAILED
tests/actual_tests_bless/revisioned_executable.rs (revision `panic`) ... ok
tests/actual_tests_bless/revisioned_executable_panic.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisioned_executable_panic.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisioned_executable_panic.rs (revision `run.run`) ... FAILED
tests/actual_tests_bless/revisioned_executable_panic.rs (revision `run`) ... ok
tests/actual_tests_bless/revisioned_executable_panic.rs (revision `panic.run`) ... ok
tests/actual_tests_bless/revisioned_executable_panic.rs (revision `panic`) ... ok
tests/actual_tests_bless/revisions.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions.rs (revision `foo`) ... ok
tests/actual_tests_bless/revisions.rs (revision `bar`) ... ok
tests/actual_tests_bless/revisions_bad.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_bad.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_bad.rs (revision `foo`) ... ok
tests/actual_tests_bless/revisions_bad.rs (revision `bar`) ... FAILED
tests/actual_tests_bless/revisions_filter.rs (revision `foo`) ... ignored (in-test comment)
tests/actual_tests_bless/revisions_filter.rs (revision `bar`) ... ignored (in-test comment)
tests/actual_tests_bless/revisions_filter2.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_filter2.rs (revision `foo`) ... ignored (in-test comment)
tests/actual_tests_bless/revisions_filter2.rs (revision `bar`) ... ok
tests/actual_tests_bless/revisions_multiple_per_annotation.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_multiple_per_annotation.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_multiple_per_annotation.rs (revision `foo`) ... ok
tests/actual_tests_bless/revisions_multiple_per_annotation.rs (revision `bar`) ... ok
tests/actual_tests_bless/revisions_same_everywhere.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_same_everywhere.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/revisions_same_everywhere.rs (revision `foo`) ... ok
tests/actual_tests_bless/revisions_same_everywhere.rs (revision `bar`) ... ok
tests/actual_tests_bless/run_panic.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/run_panic.rs (revision `run`) ... ok
tests/actual_tests_bless/run_panic.rs ... ok
tests/actual_tests_bless/rustfix-fail-revisions.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/rustfix-fail-revisions.a.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/rustfix-fail-revisions.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/rustfix-fail-revisions.b.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/rustfix-fail-revisions.a.fixed (revision `a`) ... FAILED
tests/actual_tests_bless/rustfix-fail-revisions.rs (revision `a`) ... ok
tests/actual_tests_bless/rustfix-fail-revisions.b.fixed (revision `b`) ... FAILED
tests/actual_tests_bless/rustfix-fail-revisions.rs (revision `b`) ... ok
tests/actual_tests_bless/rustfix-fail.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/rustfix-fail.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/rustfix-fail.fixed ... FAILED
tests/actual_tests_bless/rustfix-fail.rs ... ok
tests/actual_tests_bless/unicode.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/unicode.rs ... FAILED
tests/actual_tests_bless/unknown_revision.rs ... FAILED
tests/actual_tests_bless/unknown_revision2.rs ... FAILED
tests/actual_tests_bless/wrong_diagnostic_code.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless/wrong_diagnostic_code.rs ... FAILED

FAILED TEST: tests/actual_tests_bless/abort.rs (revision `run`)
Expand Down Expand Up @@ -1081,10 +1120,18 @@ FAILURES:
test result: FAIL. 23 failed; 24 passed; 3 ignored

Building dependencies ... ok
tests/actual_tests_bless_yolo/revisions_bad.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/revisions_bad.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/revisions_bad.rs (revision `foo`) ... ok
tests/actual_tests_bless_yolo/revisions_bad.rs (revision `bar`) ... ok
tests/actual_tests_bless_yolo/rustfix-maybe-incorrect.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/rustfix-maybe-incorrect.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/rustfix-maybe-incorrect.fixed ... ok
tests/actual_tests_bless_yolo/rustfix-maybe-incorrect.rs ... ok
tests/actual_tests_bless_yolo/rustfix-multiple-fail.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/rustfix-multiple-fail.1.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/rustfix-multiple-fail.2.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/rustfix-multiple-fail.3.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests_bless_yolo/rustfix-multiple-fail.1.fixed ... ok
tests/actual_tests_bless_yolo/rustfix-multiple-fail.2.fixed ... FAILED
tests/actual_tests_bless_yolo/rustfix-multiple-fail.3.fixed ... ok
Expand Down
28 changes: 28 additions & 0 deletions tests/integrations/basic/Cargo.stdout
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,66 @@ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; fini

Building dependencies ... ok
Building aux file tests/actual_tests/auxiliary/proc_macro_attr.rs ... ok
tests/actual_tests/aux_attr_proc_macro.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/aux_attr_proc_macro.rs ... ok
Building aux file tests/actual_tests/auxiliary/derive_proc_macro.rs ... ok
tests/actual_tests/aux_derive.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/aux_derive.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/aux_derive.fixed ... ok
tests/actual_tests/aux_derive.rs ... ok
Building aux file tests/actual_tests/auxiliary/the_proc_macro.rs ... ok
tests/actual_tests/aux_proc_macro.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/aux_proc_macro.rs ... ok
tests/actual_tests/dep_derive.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/dep_derive.rs (revision `run`) ... ok
tests/actual_tests/dep_derive.rs ... ok
tests/actual_tests/error_above.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/error_above.rs ... ok
tests/actual_tests/executable.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/executable.rs (revision `run`) ... ok
tests/actual_tests/executable.rs ... ok
tests/actual_tests/foomp-rustfix.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp-rustfix.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp-rustfix.fixed ... ok
tests/actual_tests/foomp-rustfix.rs ... ok
tests/actual_tests/foomp.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/foomp.rs ... ok
tests/actual_tests/joined_above.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/joined_above.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/joined_above.fixed ... ok
tests/actual_tests/joined_above.rs ... ok
tests/actual_tests/joined_below.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/joined_below.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/joined_below.fixed ... ok
tests/actual_tests/joined_below.rs ... ok
tests/actual_tests/joined_mixed.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/joined_mixed.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/joined_mixed.fixed ... ok
tests/actual_tests/joined_mixed.rs ... ok
tests/actual_tests/mac_span.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/mac_span.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/mac_span.fixed ... ok
tests/actual_tests/mac_span.rs ... ok
tests/actual_tests/match_diagnostic_code.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/match_diagnostic_code.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/match_diagnostic_code.fixed ... ok
tests/actual_tests/match_diagnostic_code.rs ... ok
tests/actual_tests/no_rustfix.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/no_rustfix.rs ... ok
tests/actual_tests/rustfix-multiple.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/rustfix-multiple.1.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/rustfix-multiple.2.fixed (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/rustfix-multiple.1.fixed ... ok
tests/actual_tests/rustfix-multiple.2.fixed ... ok
tests/actual_tests/rustfix-multiple.rs ... ok
tests/actual_tests/stdin.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/stdin.rs (revision `run`) ... ok
tests/actual_tests/stdin.rs ... ok
tests/actual_tests/unicode.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/unicode.rs ... ok
tests/actual_tests/windows_paths.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/windows_paths.rs ... ok
tests/actual_tests/subdir/aux_proc_macro.rs (revision `waiting for dependencies to finish building`) ... ok
tests/actual_tests/subdir/aux_proc_macro.rs ... ok

test result: ok. 31 passed
Expand Down
1 change: 1 addition & 0 deletions tests/integrations/dep-fail/Cargo.stdout
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished

Building dependencies ... FAILED
tests/ui/basic_test.rs (revision `waiting for dependencies to finish building`) ... FAILED
tests/ui/basic_test.rs ... FAILED

FAILED TEST: tests/ui/basic_test.rs
Expand Down
1 change: 1 addition & 0 deletions tests/integrations/ui_test_dep_bug/Cargo.stdout
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished

Building dependencies ... ok
tests/ui/basic_test.rs (revision `waiting for dependencies to finish building`) ... ok
tests/ui/basic_test.rs ... ok

test result: ok. 1 passed
Expand Down

0 comments on commit 7599f58

Please sign in to comment.