@@ -31,7 +31,6 @@ fn test_rfind() {
31
31
}
32
32
33
33
#[ test]
34
- #[ cfg( not( miri) ) ]
35
34
fn test_collect ( ) {
36
35
let empty = "" ;
37
36
let s: String = empty. chars ( ) . collect ( ) ;
@@ -119,7 +118,6 @@ fn test_concat_for_different_types() {
119
118
#[ test]
120
119
fn test_concat_for_different_lengths ( ) {
121
120
let empty: & [ & str ] = & [ ] ;
122
- #[ cfg( not( miri) ) ]
123
121
test_concat ! ( "" , empty) ;
124
122
test_concat ! ( "a" , [ "a" ] ) ;
125
123
test_concat ! ( "ab" , [ "a" , "b" ] ) ;
@@ -148,7 +146,6 @@ fn test_join_for_different_types() {
148
146
#[ test]
149
147
fn test_join_for_different_lengths ( ) {
150
148
let empty: & [ & str ] = & [ ] ;
151
- #[ cfg( not( miri) ) ]
152
149
test_join ! ( "" , empty, "-" ) ;
153
150
test_join ! ( "a" , [ "a" ] , "-" ) ;
154
151
test_join ! ( "a-b" , [ "a" , "b" ] , "-" ) ;
@@ -162,15 +159,14 @@ fn test_join_for_different_lengths_with_long_separator() {
162
159
assert_eq ! ( "~~~~~" . len( ) , 15 ) ;
163
160
164
161
let empty: & [ & str ] = & [ ] ;
165
- #[ cfg( not( miri) ) ]
166
162
test_join ! ( "" , empty, "~~~~~" ) ;
167
163
test_join ! ( "a" , [ "a" ] , "~~~~~" ) ;
168
164
test_join ! ( "a~~~~~b" , [ "a" , "b" ] , "~~~~~" ) ;
169
165
test_join ! ( "~~~~~a~~~~~bc" , [ "" , "a" , "bc" ] , "~~~~~" ) ;
170
166
}
171
167
172
168
#[ test]
173
- #[ cfg( not( miri) ) ]
169
+ #[ cfg( not( miri) ) ] // Miri is too slow
174
170
fn test_unsafe_slice ( ) {
175
171
assert_eq ! ( "ab" , unsafe { "abc" . get_unchecked( 0 ..2 ) } ) ;
176
172
assert_eq ! ( "bc" , unsafe { "abc" . get_unchecked( 1 ..3 ) } ) ;
@@ -243,7 +239,6 @@ fn test_replacen() {
243
239
#[ test]
244
240
fn test_replace ( ) {
245
241
let a = "a" ;
246
- #[ cfg( not( miri) ) ]
247
242
assert_eq ! ( "" . replace( a, "b" ) , "" ) ;
248
243
assert_eq ! ( "a" . replace( a, "b" ) , "b" ) ;
249
244
assert_eq ! ( "ab" . replace( a, "b" ) , "bb" ) ;
@@ -303,7 +298,6 @@ fn test_replace_pattern() {
303
298
// The current implementation of SliceIndex fails to handle methods
304
299
// orthogonally from range types; therefore, it is worth testing
305
300
// all of the indexing operations on each input.
306
- #[ cfg( not( miri) ) ]
307
301
mod slice_index {
308
302
// Test a slicing operation **that should succeed,**
309
303
// testing it on all of the indexing methods.
@@ -357,6 +351,7 @@ mod slice_index {
357
351
// to be used in `should_panic`)
358
352
#[ test]
359
353
#[ should_panic( expected = "out of bounds" ) ]
354
+ #[ cfg( not( miri) ) ] // Miri does not support panics
360
355
fn assert_range_eq_can_fail_by_panic ( ) {
361
356
assert_range_eq ! ( "abc" , 0 ..5 , "abc" ) ;
362
357
}
@@ -366,6 +361,7 @@ mod slice_index {
366
361
// to be used in `should_panic`)
367
362
#[ test]
368
363
#[ should_panic( expected = "==" ) ]
364
+ #[ cfg( not( miri) ) ] // Miri does not support panics
369
365
fn assert_range_eq_can_fail_by_inequality ( ) {
370
366
assert_range_eq ! ( "abc" , 0 ..2 , "abc" ) ;
371
367
}
@@ -413,6 +409,7 @@ mod slice_index {
413
409
414
410
#[ test]
415
411
#[ should_panic( expected = $expect_msg) ]
412
+ #[ cfg( not( miri) ) ] // Miri does not support panics
416
413
fn index_fail( ) {
417
414
let v: String = $data. into( ) ;
418
415
let v: & str = & v;
@@ -421,6 +418,7 @@ mod slice_index {
421
418
422
419
#[ test]
423
420
#[ should_panic( expected = $expect_msg) ]
421
+ #[ cfg( not( miri) ) ] // Miri does not support panics
424
422
fn index_mut_fail( ) {
425
423
let mut v: String = $data. into( ) ;
426
424
let v: & mut str = & mut v;
@@ -490,6 +488,7 @@ mod slice_index {
490
488
491
489
#[ test]
492
490
#[ cfg( not( target_arch = "asmjs" ) ) ] // hits an OOM
491
+ #[ cfg( not( miri) ) ] // Miri is too slow
493
492
fn simple_big ( ) {
494
493
fn a_million_letter_x ( ) -> String {
495
494
let mut i = 0 ;
@@ -515,6 +514,7 @@ mod slice_index {
515
514
516
515
#[ test]
517
516
#[ should_panic]
517
+ #[ cfg( not( miri) ) ] // Miri does not support panics
518
518
fn test_slice_fail ( ) {
519
519
& "中华Việt Nam" [ 0 ..2 ] ;
520
520
}
@@ -666,12 +666,14 @@ mod slice_index {
666
666
// check the panic includes the prefix of the sliced string
667
667
#[ test]
668
668
#[ should_panic( expected="byte index 1024 is out of bounds of `Lorem ipsum dolor sit amet" ) ]
669
+ #[ cfg( not( miri) ) ] // Miri does not support panics
669
670
fn test_slice_fail_truncated_1 ( ) {
670
671
& LOREM_PARAGRAPH [ ..1024 ] ;
671
672
}
672
673
// check the truncation in the panic message
673
674
#[ test]
674
675
#[ should_panic( expected="luctus, im`[...]" ) ]
676
+ #[ cfg( not( miri) ) ] // Miri does not support panics
675
677
fn test_slice_fail_truncated_2 ( ) {
676
678
& LOREM_PARAGRAPH [ ..1024 ] ;
677
679
}
@@ -686,7 +688,7 @@ fn test_str_slice_rangetoinclusive_ok() {
686
688
687
689
#[ test]
688
690
#[ should_panic]
689
- #[ cfg( not( miri) ) ]
691
+ #[ cfg( not( miri) ) ] // Miri does not support panics
690
692
fn test_str_slice_rangetoinclusive_notok ( ) {
691
693
let s = "abcαβγ" ;
692
694
& s[ ..=3 ] ;
@@ -702,7 +704,7 @@ fn test_str_slicemut_rangetoinclusive_ok() {
702
704
703
705
#[ test]
704
706
#[ should_panic]
705
- #[ cfg( not( miri) ) ]
707
+ #[ cfg( not( miri) ) ] // Miri does not support panics
706
708
fn test_str_slicemut_rangetoinclusive_notok ( ) {
707
709
let mut s = "abcαβγ" . to_owned ( ) ;
708
710
let s: & mut str = & mut s;
@@ -892,7 +894,7 @@ fn test_as_bytes() {
892
894
893
895
#[ test]
894
896
#[ should_panic]
895
- #[ cfg( not( miri) ) ]
897
+ #[ cfg( not( miri) ) ] // Miri does not support panics
896
898
fn test_as_bytes_fail ( ) {
897
899
// Don't double free. (I'm not sure if this exercises the
898
900
// original problem code path anymore.)
@@ -982,7 +984,7 @@ fn test_split_at_mut() {
982
984
983
985
#[ test]
984
986
#[ should_panic]
985
- #[ cfg( not( miri) ) ]
987
+ #[ cfg( not( miri) ) ] // Miri does not support panics
986
988
fn test_split_at_boundscheck ( ) {
987
989
let s = "ศไทย中华Việt Nam" ;
988
990
s. split_at ( 1 ) ;
@@ -1078,7 +1080,7 @@ fn test_rev_iterator() {
1078
1080
}
1079
1081
1080
1082
#[ test]
1081
- #[ cfg( not( miri) ) ]
1083
+ #[ cfg( not( miri) ) ] // Miri is too slow
1082
1084
fn test_chars_decoding ( ) {
1083
1085
let mut bytes = [ 0 ; 4 ] ;
1084
1086
for c in ( 0 ..0x110000 ) . filter_map ( std:: char:: from_u32) {
@@ -1090,7 +1092,7 @@ fn test_chars_decoding() {
1090
1092
}
1091
1093
1092
1094
#[ test]
1093
- #[ cfg( not( miri) ) ]
1095
+ #[ cfg( not( miri) ) ] // Miri is too slow
1094
1096
fn test_chars_rev_decoding ( ) {
1095
1097
let mut bytes = [ 0 ; 4 ] ;
1096
1098
for c in ( 0 ..0x110000 ) . filter_map ( std:: char:: from_u32) {
@@ -1320,7 +1322,6 @@ fn test_splitator() {
1320
1322
}
1321
1323
1322
1324
#[ test]
1323
- #[ cfg( not( miri) ) ]
1324
1325
fn test_str_default ( ) {
1325
1326
use std:: default:: Default ;
1326
1327
@@ -1380,7 +1381,7 @@ fn test_bool_from_str() {
1380
1381
assert_eq ! ( "not even a boolean" . parse:: <bool >( ) . ok( ) , None ) ;
1381
1382
}
1382
1383
1383
- #[ cfg( not( miri) ) ]
1384
+ #[ cfg( not( miri) ) ] // Miri is too slow
1384
1385
fn check_contains_all_substrings ( s : & str ) {
1385
1386
assert ! ( s. contains( "" ) ) ;
1386
1387
for i in 0 ..s. len ( ) {
@@ -1391,7 +1392,7 @@ fn check_contains_all_substrings(s: &str) {
1391
1392
}
1392
1393
1393
1394
#[ test]
1394
- #[ cfg( not( miri) ) ]
1395
+ #[ cfg( not( miri) ) ] // Miri is too slow
1395
1396
fn strslice_issue_16589 ( ) {
1396
1397
assert ! ( "bananas" . contains( "nana" ) ) ;
1397
1398
@@ -1401,15 +1402,14 @@ fn strslice_issue_16589() {
1401
1402
}
1402
1403
1403
1404
#[ test]
1404
- #[ cfg( not( miri) ) ]
1405
1405
fn strslice_issue_16878 ( ) {
1406
1406
assert ! ( !"1234567ah012345678901ah" . contains( "hah" ) ) ;
1407
1407
assert ! ( !"00abc01234567890123456789abc" . contains( "bcabc" ) ) ;
1408
1408
}
1409
1409
1410
1410
1411
1411
#[ test]
1412
- #[ cfg( not( miri) ) ]
1412
+ #[ cfg( not( miri) ) ] // Miri is too slow
1413
1413
fn test_strslice_contains ( ) {
1414
1414
let x = "There are moments, Jeeves, when one asks oneself, 'Do trousers matter?'" ;
1415
1415
check_contains_all_substrings ( x) ;
@@ -1547,7 +1547,6 @@ fn trim_ws() {
1547
1547
1548
1548
#[ test]
1549
1549
fn to_lowercase ( ) {
1550
- #[ cfg( not( miri) ) ]
1551
1550
assert_eq ! ( "" . to_lowercase( ) , "" ) ;
1552
1551
assert_eq ! ( "AÉDžaé " . to_lowercase( ) , "aédžaé " ) ;
1553
1552
@@ -1581,7 +1580,6 @@ fn to_lowercase() {
1581
1580
1582
1581
#[ test]
1583
1582
fn to_uppercase ( ) {
1584
- #[ cfg( not( miri) ) ]
1585
1583
assert_eq ! ( "" . to_uppercase( ) , "" ) ;
1586
1584
assert_eq ! ( "aéDžßfiᾀ" . to_uppercase( ) , "AÉDŽSSFIἈΙ" ) ;
1587
1585
}
@@ -1613,7 +1611,6 @@ fn test_cow_from() {
1613
1611
}
1614
1612
1615
1613
#[ test]
1616
- #[ cfg( not( miri) ) ]
1617
1614
fn test_repeat ( ) {
1618
1615
assert_eq ! ( "" . repeat( 3 ) , "" ) ;
1619
1616
assert_eq ! ( "abc" . repeat( 0 ) , "" ) ;
0 commit comments