//! Module converting command-line arguments into test configuration.
+use getopts;
use std::env;
use std::path::PathBuf;
-use getopts;
-use super::options::{RunIgnored, ColorConfig, OutputFormat, Options};
-use super::time::TestTimeOptions;
use super::helpers::isatty;
+use super::options::{ColorConfig, Options, OutputFormat, RunIgnored};
+use super::time::TestTimeOptions;
#[derive(Debug)]
pub struct TestOpts {
"Display one character per test instead of one line. \
Alias to --format=terse",
)
- .optflag(
- "",
- "exact",
- "Exactly match filters rather than by substring",
- )
+ .optflag("", "exact", "Exactly match filters rather than by substring")
.optopt(
"",
"color",
json = Output a json document",
"pretty|terse|json",
)
- .optflag(
- "",
- "show-output",
- "Show captured stdout of successful tests"
- )
+ .optflag("", "show-output", "Show captured stdout of successful tests")
.optopt(
"Z",
"",
Expected format of environment variable is `VARIABLE=WARN_TIME,CRITICAL_TIME`.
Not available for --format=terse",
- "plain|colored"
+ "plain|colored",
)
.optflag(
"",
Expected format of environment variable is `VARIABLE=WARN_TIME,CRITICAL_TIME`.
`CRITICAL_TIME` here means the limit that should not be exceeded by test.
- "
+ ",
);
opts
}
// Gets the CLI options assotiated with `report-time` feature.
fn get_time_options(
matches: &getopts::Matches,
- allow_unstable: bool)
--> OptPartRes<Option<TestTimeOptions>> {
+ allow_unstable: bool,
+) -> OptPartRes<Option<TestTimeOptions>> {
let report_time = unstable_optflag!(matches, allow_unstable, "report-time");
let colored_opt_str = matches.opt_str("report-time");
let mut report_time_colored = report_time && colored_opt_str == Some("colored".into());
fn get_format(
matches: &getopts::Matches,
quiet: bool,
- allow_unstable: bool
+ allow_unstable: bool,
) -> OptPartRes<OutputFormat> {
let format = match matches.opt_str("format").as_ref().map(|s| &**s) {
None if quiet => OutputFormat::Terse,
Some("terse") => OutputFormat::Terse,
Some("json") => {
if !allow_unstable {
- return Err(
- "The \"json\" format is only accepted on the nightly compiler".into(),
- );
+ return Err("The \"json\" format is only accepted on the nightly compiler".into());
}
OutputFormat::Json
}
fn get_run_ignored(matches: &getopts::Matches, include_ignored: bool) -> OptPartRes<RunIgnored> {
let run_ignored = match (include_ignored, matches.opt_present("ignored")) {
(true, true) => {
- return Err(
- "the options --include-ignored and --ignored are mutually exclusive".into(),
- );
+ return Err("the options --include-ignored and --ignored are mutually exclusive".into());
}
(true, false) => RunIgnored::Yes,
(false, true) => RunIgnored::Only,
}
fn get_filter(matches: &getopts::Matches) -> OptPartRes<Option<String>> {
- let filter = if !matches.free.is_empty() {
- Some(matches.free[0].clone())
- } else {
- None
- };
+ let filter = if !matches.free.is_empty() { Some(matches.free[0].clone()) } else { None };
Ok(filter)
}
if let Some(opt) = matches.opt_str("Z") {
if !is_nightly() {
- return Err(
- "the option `Z` is only accepted on the nightly compiler".into(),
- );
+ return Err("the option `Z` is only accepted on the nightly compiler".into());
}
match &*opt {