blob: 7e9bd50f5566e04514699476ca85025bdeaae5fa [file] [log] [blame]
//! Helper module which helps to determine amount of threads to be used
//! during tests execution.
use std::env;
use std::thread;
#[allow(deprecated)]
pub fn get_concurrency() -> usize {
match env::var("RUST_TEST_THREADS") {
Ok(s) => {
let opt_n: Option<usize> = s.parse().ok();
match opt_n {
Some(n) if n > 0 => n,
_ => panic!("RUST_TEST_THREADS is `{}`, should be a positive integer.", s),
}
}
Err(..) => thread::available_concurrency().map(|n| n.get()).unwrap_or(1),
}
}