[][src]Struct libtest_mimic::Arguments

pub struct Arguments {
    pub ignored: bool,
    pub test: bool,
    pub bench: bool,
    pub list: bool,
    pub nocapture: bool,
    pub exact: bool,
    pub quiet: bool,
    pub num_threads: Option<u32>,
    pub logfile: Option<String>,
    pub skip: Vec<String>,
    pub color: Option<ColorSetting>,
    pub format: Option<FormatSetting>,
    pub filter_string: Option<String>,
}

Command line arguments.

This type represents everything the user can specify via CLI args. The main method is from_args which reads the global std::env::args() and parses them into this type.

The CLI is very similar to the one from the native test harness. However, there are minor differences:

  • Most notable: the --help message is slightly different. This comes from the fact that this crate (right now) uses structopt (which uses clap) while the original libtest uses docopt.
  • --skip only accepts one value per occurence (but can occur multiple times). This solves ambiguity with the filter value at the very end. Consider "--skip foo bar": should this be parsed as skip: vec!["foo", "bar"], filter: None or skip: vec!["foo"], filter: Some("bar")? Here, it's clearly the latter version. If you need multiple values for skip, do it like this: --skip foo --skip bar.
  • --bench and --test cannot be both set at the same time. It doesn't make sense, but it's allowed in libtest for some reason.

Note: just because all CLI args can be parsed, doesn't mean that they are all automatically used. Check run_tests for information on which arguments are automatically used and require special care.

Fields

ignored: bool

Determines if ignored tests should be run.

test: bool

Run tests, but not benchmarks.

bench: bool

Run benchmarks, but not tests.

list: bool

Only list all tests and benchmarks.

nocapture: bool

If set, stdout/stderr are not captured during the test but are instead printed directly.

exact: bool

If set, filters are matched exactly rather than by substring.

quiet: bool

If set, display only one character per test instead of one line. Especially useful for huge test suites.

This is an alias for --format=terse. If this is set, format is None.

num_threads: Option<u32>

Number of threads used for parallel testing.

logfile: Option<String>

Path of the logfile. If specified, everything will be written into the file instead of stdout.

skip: Vec<String>

A list of filters. Tests whose names contain parts of any of these filters are skipped.

color: Option<ColorSetting>

Specifies whether or not to color the output.

format: Option<FormatSetting>

Specifies the format of the output.

filter_string: Option<String>

Filter string. Only tests which contain this string are run.

Methods

impl Arguments[src]

pub fn from_args() -> Self[src]

Parses the global CLI arguments given to the application.

If the parsing fails (due to incorrect CLI args), an error is shown and the application exits. If help is requested (-h or --help), a help message is shown and the application exits, too.

Trait Implementations

impl Clone for Arguments[src]

impl Debug for Arguments[src]

impl StructOpt for Arguments[src]

Auto Trait Implementations

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]