diff options
Diffstat (limited to 'vendor/tester/src/helpers/concurrency.rs')
-rw-r--r-- | vendor/tester/src/helpers/concurrency.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/tester/src/helpers/concurrency.rs b/vendor/tester/src/helpers/concurrency.rs new file mode 100644 index 000000000..d7c41660a --- /dev/null +++ b/vendor/tester/src/helpers/concurrency.rs @@ -0,0 +1,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() + } +} |