mirror of https://github.com/rust-lang/rust
15 lines
506 B
Rust
15 lines
506 B
Rust
//! Helper module which helps to determine amount of threads to be used
|
|
//! during tests execution.
|
|
use std::{env, num::NonZero, thread};
|
|
|
|
pub fn get_concurrency() -> usize {
|
|
if let Ok(value) = env::var("RUST_TEST_THREADS") {
|
|
match value.parse::<NonZero<usize>>().ok() {
|
|
Some(n) => n.get(),
|
|
_ => panic!("RUST_TEST_THREADS is `{value}`, should be a positive integer."),
|
|
}
|
|
} else {
|
|
thread::available_parallelism().map(|n| n.get()).unwrap_or(1)
|
|
}
|
|
}
|