diff options
Diffstat (limited to 'cli/tools/test/reporters/pretty.rs')
-rw-r--r-- | cli/tools/test/reporters/pretty.rs | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/cli/tools/test/reporters/pretty.rs b/cli/tools/test/reporters/pretty.rs index 4e8a1f402..1cd1f084f 100644 --- a/cli/tools/test/reporters/pretty.rs +++ b/cli/tools/test/reporters/pretty.rs @@ -8,12 +8,14 @@ pub struct PrettyTestReporter { parallel: bool, echo_output: bool, in_new_line: bool, + phase: &'static str, filter: bool, repl: bool, scope_test_id: Option<usize>, cwd: Url, did_have_user_output: bool, started_tests: bool, + ended_tests: bool, child_results_buffer: HashMap<usize, IndexMap<usize, (TestStepDescription, TestStepResult, u64)>>, summary: TestSummary, @@ -31,12 +33,14 @@ impl PrettyTestReporter { parallel, echo_output, in_new_line: true, + phase: "", filter, repl, scope_test_id: None, cwd: Url::from_directory_path(std::env::current_dir().unwrap()).unwrap(), did_have_user_output: false, started_tests: false, + ended_tests: false, child_results_buffer: Default::default(), summary: TestSummary::new(), writer: Box::new(std::io::stdout()), @@ -149,7 +153,7 @@ impl PrettyTestReporter { writeln!( &mut self.writer, "{}", - colors::gray("----- output end -----") + colors::gray(format!("----- {}output end -----", self.phase)) ) .unwrap(); self.in_new_line = true; @@ -161,6 +165,7 @@ impl PrettyTestReporter { impl TestReporter for PrettyTestReporter { fn report_register(&mut self, _description: &TestDescription) {} fn report_plan(&mut self, plan: &TestPlan) { + self.write_output_end(); self.summary.total += plan.total; self.summary.filtered_out += plan.filtered_out; if self.repl { @@ -196,15 +201,22 @@ impl TestReporter for PrettyTestReporter { return; } - if !self.did_have_user_output && self.started_tests { + if !self.did_have_user_output { self.did_have_user_output = true; if !self.in_new_line { writeln!(&mut self.writer).unwrap(); } + self.phase = if !self.started_tests { + "pre-test " + } else if self.ended_tests { + "post-test " + } else { + "" + }; writeln!( &mut self.writer, "{}", - colors::gray("------- output -------") + colors::gray(format!("------- {}output -------", self.phase)) ) .unwrap(); self.in_new_line = true; @@ -369,6 +381,7 @@ impl TestReporter for PrettyTestReporter { _tests: &IndexMap<usize, TestDescription>, _test_steps: &IndexMap<usize, TestStepDescription>, ) { + self.write_output_end(); common::report_summary(&mut self.writer, &self.cwd, &self.summary, elapsed); if !self.repl { writeln!(&mut self.writer).unwrap(); @@ -392,6 +405,11 @@ impl TestReporter for PrettyTestReporter { self.in_new_line = true; } + fn report_completed(&mut self) { + self.write_output_end(); + self.ended_tests = true; + } + fn flush_report( &mut self, _elapsed: &Duration, |