diff options
| author | bors <bors@rust-lang.org> | 2021-02-08 20:52:54 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-02-08 20:52:54 +0000 |
| commit | 0fc6756b42e0556cc2e18079f5fc6b4d58f4e81a (patch) | |
| tree | b772cfec476469c0839bdcc49ef177f0a5229ec5 /library/test/src/cli.rs | |
| parent | 921ec4b3fca17cc777766c240038d7d50ba98e0d (diff) | |
| parent | 9d1e8fe045d8512309fa3303d188ccbf06b9542f (diff) | |
| download | rust-0fc6756b42e0556cc2e18079f5fc6b4d58f4e81a.tar.gz rust-0fc6756b42e0556cc2e18079f5fc6b4d58f4e81a.zip | |
Auto merge of #81889 - m-ou-se:rollup-k63log3, r=m-ou-se
Rollup of 9 pull requests Successful merges: - #71531 (Move treat err as bug tests to ui) - #81356 (libtest: allow multiple filters) - #81735 (faster few span methods) - #81779 (improve error message for disallowed ptr-to-int casts in const eval) - #81817 (Add option to emit compiler stderr per bitwidth.) - #81828 (parse_format: treat r" as a literal) - #81840 (fix formatting of std::iter::Map) - #81861 (Show MIR bytes separately in -Zmeta-stats output) - #81865 (Clean up weird Option mapping) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'library/test/src/cli.rs')
| -rw-r--r-- | library/test/src/cli.rs | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/library/test/src/cli.rs b/library/test/src/cli.rs index 02c529252e0..c0b5197e997 100644 --- a/library/test/src/cli.rs +++ b/library/test/src/cli.rs @@ -10,7 +10,7 @@ use super::time::TestTimeOptions; #[derive(Debug)] pub struct TestOpts { pub list: bool, - pub filter: Option<String>, + pub filters: Vec<String>, pub filter_exact: bool, pub force_run_in_process: bool, pub exclude_should_panic: bool, @@ -148,12 +148,13 @@ fn optgroups() -> getopts::Options { } fn usage(binary: &str, options: &getopts::Options) { - let message = format!("Usage: {} [OPTIONS] [FILTER]", binary); + let message = format!("Usage: {} [OPTIONS] [FILTERS...]", binary); println!( r#"{usage} The FILTER string is tested against the name of all tests, and only those -tests whose names contain the filter are run. +tests whose names contain the filter are run. Multiple filter strings may +be passed, which will run all tests matching any of the filters. By default, all tests are run in parallel. This can be altered with the --test-threads flag or the RUST_TEST_THREADS environment variable when running @@ -243,7 +244,7 @@ fn parse_opts_impl(matches: getopts::Matches) -> OptRes { let logfile = get_log_file(&matches)?; let run_ignored = get_run_ignored(&matches, include_ignored)?; - let filter = get_filter(&matches)?; + let filters = matches.free.clone(); let nocapture = get_nocapture(&matches)?; let test_threads = get_test_threads(&matches)?; let color = get_color_config(&matches)?; @@ -253,7 +254,7 @@ fn parse_opts_impl(matches: getopts::Matches) -> OptRes { let test_opts = TestOpts { list, - filter, + filters, filter_exact: exact, force_run_in_process, exclude_should_panic, @@ -397,12 +398,6 @@ fn get_run_ignored(matches: &getopts::Matches, include_ignored: bool) -> OptPart Ok(run_ignored) } -fn get_filter(matches: &getopts::Matches) -> OptPartRes<Option<String>> { - let filter = if !matches.free.is_empty() { Some(matches.free[0].clone()) } else { None }; - - Ok(filter) -} - fn get_allow_unstable(matches: &getopts::Matches) -> OptPartRes<bool> { let mut allow_unstable = false; |
