pub struct Arguments {
Show 13 fields 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<usize>, pub logfile: Option<String>, pub skip: Vec<String>, pub color: Option<ColorSetting>, pub format: Option<FormatSetting>, pub filter_string: Option<String>,
}
Expand description

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][::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<usize>

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.

Implementations

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.

Like from_args(), but operates on an explicit iterator and not the global arguments.

Trait Implementations

Append to Command so it can instantiate Self. Read more

Append to Command so it can update self. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

👎 Deprecated since 3.1.0:

Replaced with `CommandFactory::command

Deprecated, replaced with CommandFactory::command

👎 Deprecated since 3.1.0:

Replaced with `CommandFactory::command_for_update

Deprecated, replaced with CommandFactory::command_for_update

Build a Command that can instantiate Self. Read more

Build a Command that can update self. Read more

Formats the value using the given formatter. Read more

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more

Assign values from ArgMatches to self.

Parse from std::env::args_os(), exit on error

Parse from std::env::args_os(), return Err on error.

Parse from iterator, exit on error

Parse from iterator, return Err on error.

Update from iterator, exit on error

Update from iterator, return Err on error.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.