diff options
Diffstat (limited to 'vendor/rayon/tests/named-threads.rs')
-rw-r--r-- | vendor/rayon/tests/named-threads.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/rayon/tests/named-threads.rs b/vendor/rayon/tests/named-threads.rs new file mode 100644 index 0000000..dadb37b --- /dev/null +++ b/vendor/rayon/tests/named-threads.rs @@ -0,0 +1,25 @@ +use std::collections::HashSet; + +use rayon::prelude::*; +use rayon::*; + +#[test] +#[cfg_attr(any(target_os = "emscripten", target_family = "wasm"), ignore)] +fn named_threads() { + ThreadPoolBuilder::new() + .thread_name(|i| format!("hello-name-test-{}", i)) + .build_global() + .unwrap(); + + const N: usize = 10000; + + let thread_names = (0..N) + .into_par_iter() + .flat_map(|_| ::std::thread::current().name().map(str::to_owned)) + .collect::<HashSet<String>>(); + + let all_contains_name = thread_names + .iter() + .all(|name| name.starts_with("hello-name-test-")); + assert!(all_contains_name); +} |