1 | //! Module containing different events that can occur |
2 | //! during tests execution process. |
3 | |
4 | use super::test_result::TestResult; |
5 | use super::time::TestExecTime; |
6 | use super::types::{TestDesc, TestId}; |
7 | |
8 | #[derive(Debug, Clone)] |
9 | pub struct CompletedTest { |
10 | pub id: TestId, |
11 | pub desc: TestDesc, |
12 | pub result: TestResult, |
13 | pub exec_time: Option<TestExecTime>, |
14 | pub stdout: Vec<u8>, |
15 | } |
16 | |
17 | impl CompletedTest { |
18 | pub fn new( |
19 | id: TestId, |
20 | desc: TestDesc, |
21 | result: TestResult, |
22 | exec_time: Option<TestExecTime>, |
23 | stdout: Vec<u8>, |
24 | ) -> Self { |
25 | Self { id, desc, result, exec_time, stdout } |
26 | } |
27 | } |
28 | |
29 | #[derive(Debug, Clone)] |
30 | pub enum TestEvent { |
31 | TeFiltered(usize, Option<u64>), |
32 | TeWait(TestDesc), |
33 | TeResult(CompletedTest), |
34 | TeTimeout(TestDesc), |
35 | TeFilteredOut(usize), |
36 | } |
37 | |