Rollup merge of #78065 - tshepang:nits, r=dtolnay

make concurrency helper more pleasant to read
This commit is contained in:
Mara Bos 2020-11-08 13:36:01 +01:00 committed by GitHub
commit 1c66688adc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,18 +1,14 @@
//! Helper module which helps to determine amount of threads to be used
//! during tests execution.
use std::env;
use std::thread;
use std::{env, num::NonZeroUsize, 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),
}
if let Ok(value) = env::var("RUST_TEST_THREADS") {
match value.parse::<NonZeroUsize>().ok() {
Some(n) => n.get(),
_ => panic!("RUST_TEST_THREADS is `{}`, should be a positive integer.", value),
}
Err(..) => thread::available_concurrency().map(|n| n.get()).unwrap_or(1),
} else {
thread::available_concurrency().map(|n| n.get()).unwrap_or(1)
}
}