summaryrefslogtreecommitdiffstats
path: root/third_party/rust/rayon/tests/named-threads.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/rayon/tests/named-threads.rs')
-rw-r--r--third_party/rust/rayon/tests/named-threads.rs24
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);
+}