@@ -224,12 +224,12 @@ fn parse_benchmark_parameters<'a>(
224
224
mut args : HashMap < & ' a str , & ' a str > ,
225
225
) -> Result < BenchmarkParameters < ' a > , String > {
226
226
let mut params = BenchmarkParameters {
227
- include : args. remove ( "include" ) ,
228
- exclude : args. remove ( "exclude" ) ,
227
+ include : args. remove ( "include" ) . filter ( |s| !s . is_empty ( ) ) ,
228
+ exclude : args. remove ( "exclude" ) . filter ( |s| !s . is_empty ( ) ) ,
229
229
runs : None ,
230
- backends : args. remove ( "backends" ) ,
230
+ backends : args. remove ( "backends" ) . filter ( |s| !s . is_empty ( ) ) ,
231
231
} ;
232
- if let Some ( runs) = args. remove ( "runs" ) {
232
+ if let Some ( runs) = args. remove ( "runs" ) . filter ( |s| !s . is_empty ( ) ) {
233
233
let Ok ( runs) = runs. parse :: < u32 > ( ) else {
234
234
return Err ( format ! ( "Cannot parse runs {runs} as a number" ) ) ;
235
235
} ;
@@ -484,4 +484,16 @@ Otherwise LGTM."#),
484
484
insta:: assert_compact_debug_snapshot!( parse_queue_command( "@rust-timer queue include=hello exclude=ripgrep runs=3 backends=Llvm" ) ,
485
485
@r#"Some(Ok(QueueCommand { params: BenchmarkParameters { include: Some("hello"), exclude: Some("ripgrep"), runs: Some(3), backends: Some("Llvm") } }))"# ) ;
486
486
}
487
+
488
+ #[ test]
489
+ fn no_empty_arguments_thank_you ( ) {
490
+ insta:: assert_compact_debug_snapshot!( parse_queue_command( "@rust-timer queue include=" ) ,
491
+ @"Some(Ok(QueueCommand { params: BenchmarkParameters { include: None, exclude: None, runs: None, backends: None } }))" ) ;
492
+ insta:: assert_compact_debug_snapshot!( parse_queue_command( "@rust-timer queue exclude=" ) ,
493
+ @"Some(Ok(QueueCommand { params: BenchmarkParameters { include: None, exclude: None, runs: None, backends: None } }))" ) ;
494
+ insta:: assert_compact_debug_snapshot!( parse_queue_command( "@rust-timer queue runs=" ) ,
495
+ @"Some(Ok(QueueCommand { params: BenchmarkParameters { include: None, exclude: None, runs: None, backends: None } }))" ) ;
496
+ insta:: assert_compact_debug_snapshot!( parse_queue_command( "@rust-timer queue backends=" ) ,
497
+ @"Some(Ok(QueueCommand { params: BenchmarkParameters { include: None, exclude: None, runs: None, backends: None } }))" ) ;
498
+ }
487
499
}
0 commit comments