File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,10 @@ harness = false
27
27
name = " large_image"
28
28
harness = false
29
29
30
+ [[test ]]
31
+ name = " rayon"
32
+ required-features = [" rayon" ]
33
+
30
34
[features ]
31
35
default = [" rayon" ]
32
36
platform_independent = []
Original file line number Diff line number Diff line change
1
+ use std:: { fs:: File , path:: Path } ;
2
+ use jpeg_decoder:: Decoder ;
3
+
4
+ #[ test]
5
+ fn decoding_in_limited_threadpool_does_not_deadlock ( ) {
6
+ let path = Path :: new ( "tests" ) . join ( "reftest" ) . join ( "images" ) . join ( "mozilla" ) . join ( "jpg-progressive.jpg" ) ;
7
+
8
+ let pool = rayon:: ThreadPoolBuilder :: new ( )
9
+ . num_threads ( 1 )
10
+ . build ( )
11
+ . unwrap ( ) ;
12
+ pool. install ( || {
13
+ let mut decoder = Decoder :: new ( File :: open ( & path) . unwrap ( ) ) ;
14
+ let _ = decoder. decode ( ) . unwrap ( ) ;
15
+ } ) ;
16
+ }
You can’t perform that action at this time.
0 commit comments