]> git.lizzy.rs Git - rust.git/blobdiff - src/libtest/cli.rs
rustc_span: return an impl Iterator instead of a Vec from macro_backtrace.
[rust.git] / src / libtest / cli.rs
index c97cb0e0605a220ba4afb255356de3f45493fb21..edff8bea0f3d0b036896cb70e829e00495f262bd 100644 (file)
@@ -1,12 +1,12 @@
 //! 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 {
@@ -86,11 +86,7 @@ fn optgroups() -> getopts::Options {
             "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",
@@ -109,11 +105,7 @@ fn optgroups() -> getopts::Options {
             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",
             "",
@@ -133,9 +125,11 @@ fn optgroups() -> getopts::Options {
             `RUST_TEST_TIME_DOCTEST` environment variables.
 
             Expected format of environment variable is `VARIABLE=WARN_TIME,CRITICAL_TIME`.
+            Durations must be specified in milliseconds, e.g. `500,2000` means that the warn time
+            is 0.5 seconds, and the critical time is 2 seconds.
 
             Not available for --format=terse",
-            "plain|colored"
+            "plain|colored",
         )
         .optflag(
             "",
@@ -149,7 +143,7 @@ fn optgroups() -> getopts::Options {
             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
 }
@@ -293,8 +287,8 @@ fn is_nightly() -> bool {
 // 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());
@@ -336,7 +330,7 @@ fn get_test_threads(matches: &getopts::Matches) -> OptPartRes<Option<usize>> {
 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,
@@ -344,9 +338,7 @@ fn get_format(
         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
         }
@@ -396,9 +388,7 @@ fn get_nocapture(matches: &getopts::Matches) -> OptPartRes<bool> {
 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,
@@ -409,11 +399,7 @@ fn get_run_ignored(matches: &getopts::Matches, include_ignored: bool) -> OptPart
 }
 
 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)
 }
@@ -423,9 +409,7 @@ fn get_allow_unstable(matches: &getopts::Matches) -> OptPartRes<bool> {
 
     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 {