@@ -34,7 +34,7 @@ impl TestOpts {
34
34
fn new ( ) -> TestOpts {
35
35
TestOpts {
36
36
list : false ,
37
- filter : None ,
37
+ filters : vec ! [ ] ,
38
38
filter_exact : false ,
39
39
force_run_in_process : false ,
40
40
exclude_should_panic : false ,
@@ -473,43 +473,60 @@ pub fn exact_filter_match() {
473
473
}
474
474
475
475
let substr =
476
- filter_tests ( & TestOpts { filter : Some ( "base" . into ( ) ) , ..TestOpts :: new ( ) } , tests ( ) ) ;
476
+ filter_tests ( & TestOpts { filters : vec ! [ "base" . into( ) ] , ..TestOpts :: new ( ) } , tests ( ) ) ;
477
477
assert_eq ! ( substr. len( ) , 4 ) ;
478
478
479
- let substr = filter_tests ( & TestOpts { filter : Some ( "bas" . into ( ) ) , ..TestOpts :: new ( ) } , tests ( ) ) ;
479
+ let substr =
480
+ filter_tests ( & TestOpts { filters : vec ! [ "bas" . into( ) ] , ..TestOpts :: new ( ) } , tests ( ) ) ;
480
481
assert_eq ! ( substr. len( ) , 4 ) ;
481
482
482
483
let substr =
483
- filter_tests ( & TestOpts { filter : Some ( "::test" . into ( ) ) , ..TestOpts :: new ( ) } , tests ( ) ) ;
484
+ filter_tests ( & TestOpts { filters : vec ! [ "::test" . into( ) ] , ..TestOpts :: new ( ) } , tests ( ) ) ;
484
485
assert_eq ! ( substr. len( ) , 3 ) ;
485
486
486
487
let substr =
487
- filter_tests ( & TestOpts { filter : Some ( "base::test" . into ( ) ) , ..TestOpts :: new ( ) } , tests ( ) ) ;
488
+ filter_tests ( & TestOpts { filters : vec ! [ "base::test" . into( ) ] , ..TestOpts :: new ( ) } , tests ( ) ) ;
488
489
assert_eq ! ( substr. len( ) , 3 ) ;
489
490
491
+ let substr = filter_tests (
492
+ & TestOpts { filters : vec ! [ "test1" . into( ) , "test2" . into( ) ] , ..TestOpts :: new ( ) } ,
493
+ tests ( ) ,
494
+ ) ;
495
+ assert_eq ! ( substr. len( ) , 2 ) ;
496
+
490
497
let exact = filter_tests (
491
- & TestOpts { filter : Some ( "base" . into ( ) ) , filter_exact : true , ..TestOpts :: new ( ) } ,
498
+ & TestOpts { filters : vec ! [ "base" . into( ) ] , filter_exact : true , ..TestOpts :: new ( ) } ,
492
499
tests ( ) ,
493
500
) ;
494
501
assert_eq ! ( exact. len( ) , 1 ) ;
495
502
496
503
let exact = filter_tests (
497
- & TestOpts { filter : Some ( "bas" . into ( ) ) , filter_exact : true , ..TestOpts :: new ( ) } ,
504
+ & TestOpts { filters : vec ! [ "bas" . into( ) ] , filter_exact : true , ..TestOpts :: new ( ) } ,
498
505
tests ( ) ,
499
506
) ;
500
507
assert_eq ! ( exact. len( ) , 0 ) ;
501
508
502
509
let exact = filter_tests (
503
- & TestOpts { filter : Some ( "::test" . into ( ) ) , filter_exact : true , ..TestOpts :: new ( ) } ,
510
+ & TestOpts { filters : vec ! [ "::test" . into( ) ] , filter_exact : true , ..TestOpts :: new ( ) } ,
504
511
tests ( ) ,
505
512
) ;
506
513
assert_eq ! ( exact. len( ) , 0 ) ;
507
514
508
515
let exact = filter_tests (
509
- & TestOpts { filter : Some ( "base::test" . into ( ) ) , filter_exact : true , ..TestOpts :: new ( ) } ,
516
+ & TestOpts { filters : vec ! [ "base::test" . into( ) ] , filter_exact : true , ..TestOpts :: new ( ) } ,
510
517
tests ( ) ,
511
518
) ;
512
519
assert_eq ! ( exact. len( ) , 1 ) ;
520
+
521
+ let exact = filter_tests (
522
+ & TestOpts {
523
+ filters : vec ! [ "base" . into( ) , "base::test" . into( ) ] ,
524
+ filter_exact : true ,
525
+ ..TestOpts :: new ( )
526
+ } ,
527
+ tests ( ) ,
528
+ ) ;
529
+ assert_eq ! ( exact. len( ) , 2 ) ;
513
530
}
514
531
515
532
#[ test]
0 commit comments