File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -34,18 +34,22 @@ fn test_retain_autoreleased() {
34
34
let data = create_data ( b"12" ) ;
35
35
// The autorelease-return-mechanism has to "warm up" somehow? At least
36
36
// for some reason the first time this is used it fails.
37
- assert_eq ! ( retain_count( & data) , 2 ) ;
37
+ assert_eq ! ( retain_count( & data) , if cfg! ( gnustep ) { 1 } else { 2 } ) ;
38
38
39
39
// When compiled in release mode / with optimizations enabled,
40
40
// subsequent usage of `retain_autoreleased` will succeed in retaining
41
41
// the autoreleased value!
42
- let expected_retain_count = if cfg ! ( debug_assertions) { 2 } else { 1 } ;
42
+ let expected = if cfg ! ( all( debug_assertions, not( gnustep) ) ) {
43
+ 2
44
+ } else {
45
+ 1
46
+ } ;
43
47
44
48
let data = create_data ( b"34" ) ;
45
- assert_eq ! ( retain_count( & data) , expected_retain_count ) ;
49
+ assert_eq ! ( retain_count( & data) , expected ) ;
46
50
47
51
let data = create_data ( b"56" ) ;
48
- assert_eq ! ( retain_count( & data) , expected_retain_count ) ;
52
+ assert_eq ! ( retain_count( & data) , expected ) ;
49
53
50
54
// Here we manually clean up the autorelease, so it will always be 1.
51
55
let data = autoreleasepool ( |_| create_data ( b"78" ) ) ;
You can’t perform that action at this time.
0 commit comments