Skip to content

Commit

Permalink
make concurrency helper more pleasant to read
Browse files Browse the repository at this point in the history
  • Loading branch information
tshepang committed Oct 21, 2020
1 parent c38ddb8 commit 628fb9f
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions library/test/src/helpers/concurrency.rs
@@ -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)
}
}

0 comments on commit 628fb9f

Please sign in to comment.