libtest: Replace panics with error messages
This commit is contained in:
parent
6b99adeb11
commit
61ff3ba536
@ -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);
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user