summaryrefslogtreecommitdiff
path: root/cli/tools/test/reporters/pretty.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/test/reporters/pretty.rs')
-rw-r--r--cli/tools/test/reporters/pretty.rs24
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,