Skip to main content

runmat_test/result/
status.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum TerminalDisposition {
6    Passed,
7    Failed,
8    Filtered,
9    Cancelled,
10    TimedOut,
11    Crashed,
12}
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Serialize, Deserialize)]
15pub struct ResultState {
16    pub failed: bool,
17    pub incomplete: bool,
18    pub disposition: TerminalDisposition,
19}
20
21impl ResultState {
22    pub const PASSED: Self = Self {
23        failed: false,
24        incomplete: false,
25        disposition: TerminalDisposition::Passed,
26    };
27
28    pub fn is_success(self) -> bool {
29        self == Self::PASSED
30    }
31}