1#[derive(Clone, PartialEq, Eq)]
5pub(crate) enum BenchMode {
6 Auto,
7 Single,
8}
9
10#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
12pub enum ShouldPanic {
13 No,
14 Yes,
15 YesWithMessage(&'static str),
16}
17
18#[derive(Copy, Clone, Default, Debug)]
20pub enum ColorConfig {
21 #[default]
22 AutoColor,
23 AlwaysColor,
24 NeverColor,
25}
26
27#[derive(Copy, Clone, Debug, Default, PartialEq, Eq)]
29pub enum OutputFormat {
30 Pretty,
32 #[default]
34 Terse,
35 Json,
37 Junit,
39}
40
41#[derive(Copy, Clone, Debug, PartialEq, Eq)]
43pub enum RunIgnored {
44 Yes,
45 No,
46 Only,
48}
49
50#[derive(Clone, Copy)]
51pub enum RunStrategy {
52 InProcess,
55
56 SpawnPrimary,
60}
61
62#[derive(Copy, Clone, Debug)]
65pub struct Options {
66 pub display_output: bool,
67 pub panic_abort: bool,
68}
69
70impl Options {
71 pub fn new() -> Options {
72 Options { display_output: false, panic_abort: false }
73 }
74
75 pub fn display_output(mut self, display_output: bool) -> Options {
76 self.display_output = display_output;
77 self
78 }
79
80 pub fn panic_abort(mut self, panic_abort: bool) -> Options {
81 self.panic_abort = panic_abort;
82 self
83 }
84}