mirror of
https://github.com/denoland/deno.git
synced 2024-12-25 16:49:18 -05:00
596a2996cf
By default, uses a 60 second timeout, backing off 2x each time (can be overridden using the hidden `DENO_SLOW_TEST_TIMEOUT` which we implement only really for spec testing. ``` Deno.test(async function test() { await new Promise(r => setTimeout(r, 130_000)); }); ``` ``` $ target/debug/deno test /tmp/test_slow.ts Check file:///tmp/test_slow.ts running 1 test from ../../../../../../tmp/test_slow.ts test ...'test' is running very slowly (1m0s) 'test' is running very slowly (2m0s) ok (2m10s) ok | 1 passed | 0 failed (2m10s) ``` --------- Signed-off-by: Matt Mastracci <matthew@mastracci.com> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
60 lines
1.7 KiB
Rust
60 lines
1.7 KiB
Rust
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
|
|
use super::*;
|
|
|
|
mod common;
|
|
mod compound;
|
|
mod dot;
|
|
mod junit;
|
|
mod pretty;
|
|
mod tap;
|
|
|
|
pub use compound::CompoundTestReporter;
|
|
pub use dot::DotTestReporter;
|
|
pub use junit::JunitTestReporter;
|
|
pub use pretty::PrettyTestReporter;
|
|
pub use tap::TapTestReporter;
|
|
|
|
pub trait TestReporter {
|
|
fn report_register(&mut self, description: &TestDescription);
|
|
fn report_plan(&mut self, plan: &TestPlan);
|
|
fn report_wait(&mut self, description: &TestDescription);
|
|
fn report_slow(&mut self, description: &TestDescription, elapsed: u64);
|
|
fn report_output(&mut self, output: &[u8]);
|
|
fn report_result(
|
|
&mut self,
|
|
description: &TestDescription,
|
|
result: &TestResult,
|
|
elapsed: u64,
|
|
);
|
|
fn report_uncaught_error(&mut self, origin: &str, error: Box<JsError>);
|
|
fn report_step_register(&mut self, description: &TestStepDescription);
|
|
fn report_step_wait(&mut self, description: &TestStepDescription);
|
|
fn report_step_result(
|
|
&mut self,
|
|
desc: &TestStepDescription,
|
|
result: &TestStepResult,
|
|
elapsed: u64,
|
|
tests: &IndexMap<usize, TestDescription>,
|
|
test_steps: &IndexMap<usize, TestStepDescription>,
|
|
);
|
|
fn report_summary(
|
|
&mut self,
|
|
elapsed: &Duration,
|
|
tests: &IndexMap<usize, TestDescription>,
|
|
test_steps: &IndexMap<usize, TestStepDescription>,
|
|
);
|
|
fn report_sigint(
|
|
&mut self,
|
|
tests_pending: &HashSet<usize>,
|
|
tests: &IndexMap<usize, TestDescription>,
|
|
test_steps: &IndexMap<usize, TestStepDescription>,
|
|
);
|
|
fn report_completed(&mut self);
|
|
fn flush_report(
|
|
&mut self,
|
|
elapsed: &Duration,
|
|
tests: &IndexMap<usize, TestDescription>,
|
|
test_steps: &IndexMap<usize, TestStepDescription>,
|
|
) -> anyhow::Result<()>;
|
|
}
|