summaryrefslogtreecommitdiffstats
path: root/vendor/tester/src/helpers/concurrency.rs
blob: d7c41660ac897065b61b148a12088f050ff79012 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//! Helper module which helps to determine amount of threads to be used
//! during tests execution.
use std::{env, num::NonZeroUsize};

pub fn get_concurrency() -> usize {
    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),
        }
    } else {
        num_cpus::get_physical()
    }
}