File tree Expand file tree Collapse file tree
crates/libtest2-harness/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -100,28 +100,24 @@ impl Harness<StateParsed> {
100100 . into ( ) ,
101101 ) ?;
102102
103- let mut cases = cases
104- . into_iter ( )
105- . map ( |c| Box :: new ( c) as Box < dyn Case > )
106- . collect :: < Vec < _ > > ( ) ;
107- let mut retain_cases = Vec :: with_capacity ( cases. len ( ) ) ;
108- for case in cases. iter ( ) {
109- let retain_case = case_priority ( case. as_ref ( ) , & self . state . opts ) . is_some ( ) ;
110- retain_cases. push ( retain_case) ;
103+ let mut selected_cases = Vec :: new ( ) ;
104+ for case in cases {
105+ let selected = case_priority ( & case, & self . state . opts ) . is_some ( ) ;
111106 self . state . notifier . notify (
112107 notify:: event:: DiscoverCase {
113108 name : case. name ( ) . to_owned ( ) ,
114109 mode : RunMode :: Test ,
115- selected : retain_case ,
110+ selected,
116111 elapsed_s : Some ( notify:: Elapsed ( self . state . start . elapsed ( ) ) ) ,
117112 }
118113 . into ( ) ,
119114 ) ?;
115+ if selected {
116+ selected_cases. push ( Box :: new ( case) as Box < dyn Case > ) ;
117+ }
120118 }
121- let mut retain_cases = retain_cases. into_iter ( ) ;
122- cases. retain ( |_| retain_cases. next ( ) . unwrap ( ) ) ;
123119
124- cases . sort_unstable_by_key ( |case| {
120+ selected_cases . sort_unstable_by_key ( |case| {
125121 let priority = case_priority ( case. as_ref ( ) , & self . state . opts ) ;
126122 let name = case. name ( ) . to_owned ( ) ;
127123 ( priority, name)
@@ -139,7 +135,7 @@ impl Harness<StateParsed> {
139135 start : self . state . start ,
140136 opts : self . state . opts ,
141137 notifier : self . state . notifier ,
142- cases,
138+ cases : selected_cases ,
143139 } ,
144140 } )
145141 }
You can’t perform that action at this time.
0 commit comments