| //! Enums denoting options for test execution. | |
| /// Number of times to run a benchmarked function | |
| #[derive(Clone, PartialEq, Eq)] | |
| pub(crate) enum BenchMode { | |
| Auto, | |
| Single, | |
| } | |
| /// Whether test is expected to panic or not | |
| #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] | |
| pub enum ShouldPanic { | |
| No, | |
| Yes, | |
| YesWithMessage(&'static str), | |
| } | |
| /// Whether should console output be colored or not | |
| #[derive(Copy, Clone, Default, Debug)] | |
| pub enum ColorConfig { | |
| #[default] | |
| AutoColor, | |
| AlwaysColor, | |
| NeverColor, | |
| } | |
| /// Format of the test results output | |
| #[derive(Copy, Clone, Debug, Default, PartialEq, Eq)] | |
| pub enum OutputFormat { | |
| /// Verbose output | |
| Pretty, | |
| /// Quiet output | |
| #[default] | |
| Terse, | |
| /// JSON output | |
| Json, | |
| /// JUnit output | |
| Junit, | |
| } | |
| /// Whether ignored test should be run or not | |
| #[derive(Copy, Clone, Debug, PartialEq, Eq)] | |
| pub enum RunIgnored { | |
| Yes, | |
| No, | |
| /// Run only ignored tests | |
| Only, | |
| } | |
| #[derive(Clone, Copy)] | |
| pub enum RunStrategy { | |
| /// Runs the test in the current process, and sends the result back over the | |
| /// supplied channel. | |
| InProcess, | |
| /// Spawns a subprocess to run the test, and sends the result back over the | |
| /// supplied channel. Requires `argv[0]` to exist and point to the binary | |
| /// that's currently running. | |
| SpawnPrimary, | |
| } | |
| /// Options for the test run defined by the caller (instead of CLI arguments). | |
| /// In case we want to add other options as well, just add them in this struct. | |
| #[derive(Copy, Clone, Debug)] | |
| pub struct Options { | |
| pub display_output: bool, | |
| pub panic_abort: bool, | |
| } | |
| impl Options { | |
| pub fn new() -> Options { | |
| Options { display_output: false, panic_abort: false } | |
| } | |
| pub fn display_output(mut self, display_output: bool) -> Options { | |
| self.display_output = display_output; | |
| self | |
| } | |
| pub fn panic_abort(mut self, panic_abort: bool) -> Options { | |
| self.panic_abort = panic_abort; | |
| self | |
| } | |
| } |