diff options
Diffstat (limited to 'third_party/rust/rayon/tests/named-threads.rs')
-rw-r--r-- | third_party/rust/rayon/tests/named-threads.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/rust/rayon/tests/named-threads.rs b/third_party/rust/rayon/tests/named-threads.rs new file mode 100644 index 0000000000..fd1b0be2d8 --- /dev/null +++ b/third_party/rust/rayon/tests/named-threads.rs @@ -0,0 +1,24 @@ +use std::collections::HashSet; + +use rayon::prelude::*; +use rayon::*; + +#[test] +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); +} |