summaryrefslogtreecommitdiff
path: root/cli/tools/test_runner.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/test_runner.rs')
-rw-r--r--cli/tools/test_runner.rs26
1 files changed, 16 insertions, 10 deletions
diff --git a/cli/tools/test_runner.rs b/cli/tools/test_runner.rs
index 2849402e9..f856390b9 100644
--- a/cli/tools/test_runner.rs
+++ b/cli/tools/test_runner.rs
@@ -53,8 +53,14 @@ pub enum TestMessage {
},
}
+#[derive(Debug, Clone, Deserialize)]
+pub struct TestEvent {
+ pub origin: String,
+ pub message: TestMessage,
+}
+
trait TestReporter {
- fn visit_message(&mut self, message: TestMessage);
+ fn visit_event(&mut self, event: TestEvent);
fn done(&mut self);
}
@@ -87,14 +93,14 @@ impl PrettyTestReporter {
}
impl TestReporter for PrettyTestReporter {
- fn visit_message(&mut self, message: TestMessage) {
- match &message {
+ fn visit_event(&mut self, event: TestEvent) {
+ match &event.message {
TestMessage::Plan {
pending,
filtered,
only: _,
} => {
- println!("running {} tests", pending);
+ println!("running {} tests from {}", pending, event.origin);
self.pending += pending;
self.filtered_out += filtered;
}
@@ -249,7 +255,7 @@ pub async fn run_test_file(
main_module: ModuleSpecifier,
test_module: ModuleSpecifier,
permissions: Permissions,
- channel: Sender<TestMessage>,
+ channel: Sender<TestEvent>,
) -> Result<(), AnyError> {
let mut worker =
create_main_worker(&program_state, main_module.clone(), permissions, true);
@@ -259,7 +265,7 @@ pub async fn run_test_file(
js_runtime
.op_state()
.borrow_mut()
- .put::<Sender<TestMessage>>(channel.clone());
+ .put::<Sender<TestEvent>>(channel.clone());
}
let mut maybe_coverage_collector = if let Some(ref coverage_dir) =
@@ -357,7 +363,7 @@ pub async fn run_tests(
program_state.file_fetcher.insert_cached(test_file);
- let (sender, receiver) = channel::<TestMessage>();
+ let (sender, receiver) = channel::<TestEvent>();
let join_handles = test_modules.iter().map(move |main_module| {
let program_state = program_state.clone();
@@ -395,8 +401,8 @@ pub async fn run_tests(
let mut planned = 0;
let mut reported = 0;
- for message in receiver.iter() {
- match message.clone() {
+ for event in receiver.iter() {
+ match event.message.clone() {
TestMessage::Plan {
pending,
filtered: _,
@@ -422,7 +428,7 @@ pub async fn run_tests(
_ => {}
}
- reporter.visit_message(message);
+ reporter.visit_event(event);
if has_error && fail_fast {
break;