2019-10-17 10:12:02 +03:00
|
|
|
//! Module containing different events that can occur
|
|
|
|
//! during tests execution process.
|
|
|
|
|
|
|
|
use super::types::TestDesc;
|
|
|
|
use super::test_result::TestResult;
|
|
|
|
use super::time::TestExecTime;
|
|
|
|
|
2019-10-17 17:38:16 +03:00
|
|
|
#[derive(Debug, Clone)]
|
|
|
|
pub struct CompletedTest {
|
|
|
|
pub desc: TestDesc,
|
|
|
|
pub result: TestResult,
|
|
|
|
pub exec_time: Option<TestExecTime>,
|
|
|
|
pub stdout: Vec<u8>,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl CompletedTest {
|
|
|
|
pub fn new(desc: TestDesc, result: TestResult, exec_time: Option<TestExecTime>, stdout: Vec<u8>) -> Self {
|
|
|
|
Self {
|
|
|
|
desc,
|
|
|
|
result,
|
|
|
|
exec_time,
|
|
|
|
stdout,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
unsafe impl Send for CompletedTest {}
|
|
|
|
|
|
|
|
#[derive(Debug, Clone)]
|
2019-10-17 10:12:02 +03:00
|
|
|
pub enum TestEvent {
|
|
|
|
TeFiltered(Vec<TestDesc>),
|
|
|
|
TeWait(TestDesc),
|
2019-10-17 17:38:16 +03:00
|
|
|
TeResult(CompletedTest),
|
2019-10-17 10:12:02 +03:00
|
|
|
TeTimeout(TestDesc),
|
|
|
|
TeFilteredOut(usize),
|
|
|
|
}
|