diff options
| author | Gilad Naaman <gilad.naaman@gmail.com> | 2018-01-27 22:34:05 +0200 |
|---|---|---|
| committer | Gilad Naaman <gilad.naaman@gmail.com> | 2018-02-04 06:10:54 +0200 |
| commit | 61ff3ba5364ae7bbf93be5b892fa7c122d3cfab2 (patch) | |
| tree | 56544b8c182d1757e272ae4e46bde8dd7133de31 /src/libtest | |
| parent | 6b99adeb11313197f409b4f7c4083c2ceca8a4fe (diff) | |
| download | rust-61ff3ba5364ae7bbf93be5b892fa7c122d3cfab2.tar.gz rust-61ff3ba5364ae7bbf93be5b892fa7c122d3cfab2.zip | |
libtest: Replace panics with error messages
Diffstat (limited to 'src/libtest')
| -rw-r--r-- | src/libtest/lib.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index ffa27688cf1..9ea5f39b71f 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -72,6 +72,7 @@ use std::sync::{Arc, Mutex}; use std::thread; use std::time::{Instant, Duration}; use std::borrow::Cow; +use std::process; const TEST_WARN_TIMEOUT_S: u64 = 60; const QUIET_MODE_MAX_COLUMN: usize = 100; // insert a '\n' after 100 tests in quiet mode @@ -266,19 +267,27 @@ impl Options { pub fn test_main(args: &[String], tests: Vec<TestDescAndFn>, options: Options) { let mut opts = match parse_opts(args) { Some(Ok(o)) => o, - Some(Err(msg)) => panic!("{:?}", msg), + Some(Err(msg)) => { + eprintln!("error: {}", msg); + process::exit(101); + }, None => return, }; + opts.options = options; if opts.list { if let Err(e) = list_tests_console(&opts, tests) { - panic!("io error when listing tests: {:?}", e); + eprintln!("error: io error when listing tests: {:?}", e); + process::exit(101); } } else { match run_tests_console(&opts, tests) { Ok(true) => {} - Ok(false) => std::process::exit(101), - Err(e) => panic!("io error when running tests: {:?}", e), + Ok(false) => process::exit(101), + Err(e) => { + eprintln!("error: io error when listing tests: {:?}", e); + process::exit(101); + }, } } } |
