summaryrefslogtreecommitdiff
path: root/vendor/jpeg-decoder/tests/rayon-2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/jpeg-decoder/tests/rayon-2.rs')
-rw-r--r--vendor/jpeg-decoder/tests/rayon-2.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/jpeg-decoder/tests/rayon-2.rs b/vendor/jpeg-decoder/tests/rayon-2.rs
new file mode 100644
index 0000000..982f837
--- /dev/null
+++ b/vendor/jpeg-decoder/tests/rayon-2.rs
@@ -0,0 +1,23 @@
+//! Must be a separate test because it modifies the _global_ rayon pool.
+use std::{fs::File, path::Path};
+use jpeg_decoder::Decoder;
+
+#[test]
+fn decoding_in_global_pool() {
+ let path = Path::new("tests/reftest/images/progressive3.jpg");
+
+ rayon::ThreadPoolBuilder::new()
+ .num_threads(2)
+ .build_global()
+ .unwrap();
+
+ let _: Vec<_> = (0..1024)
+ .map(|_| {
+ let path = path.clone();
+ std::thread::spawn(move || {
+ let mut decoder = Decoder::new(File::open(&path).unwrap());
+ let _ = decoder.decode().unwrap();
+ });
+ }).collect();
+}
+