From c80b108b6d8241e2bbf66bfff80251f49a65d953 Mon Sep 17 00:00:00 2001 From: Nils Andreas Svee Date: Sun, 3 May 2026 22:23:37 +0700 Subject: [PATCH] test(cli): consolidate invalid argument parsing tests --- crates/irtt-cli/src/lib.rs | 55 +++++++++++++++----------------------- 1 file changed, 21 insertions(+), 34 deletions(-) diff --git a/crates/irtt-cli/src/lib.rs b/crates/irtt-cli/src/lib.rs index 73ad7ba..6caded8 100644 --- a/crates/irtt-cli/src/lib.rs +++ b/crates/irtt-cli/src/lib.rs @@ -724,13 +724,6 @@ mod tests { ); } - #[test] - fn rejects_invalid_duration() { - assert!(parse(&["--duration", "-1s", "127.0.0.1:2112"]).is_err()); - assert!(parse(&["--duration", "5", "127.0.0.1:2112"]).is_err()); - assert!(parse(&["--duration", "1h", "127.0.0.1:2112"]).is_err()); - } - #[test] fn duration_zero_selects_continuous_config() { let args = parse(&["--duration", "0", "127.0.0.1:2112"]).unwrap(); @@ -739,12 +732,6 @@ mod tests { assert_eq!(args.to_client_config().duration, None); } - #[test] - fn rejects_invalid_interval() { - assert!(parse(&["--interval", "0ms", "127.0.0.1:2112"]).is_err()); - assert!(parse(&["--interval", "-1ms", "127.0.0.1:2112"]).is_err()); - } - #[test] fn parses_output_clock_and_timestamp_modes() { let args = parse(&[ @@ -843,17 +830,6 @@ mod tests { assert_eq!(args.to_client_config().server_fill.as_deref(), Some(max)); } - #[test] - fn rejects_invalid_server_fill() { - assert!(parse(&["--sfill", "", "127.0.0.1:2112"]).is_err()); - assert!(parse(&[ - "--sfill", - "0123456789abcdef0123456789abcdefx", - "127.0.0.1:2112" - ]) - .is_err()); - } - #[test] fn maps_dscp_codepoints() { for value in ["0", "46", "63"] { @@ -862,13 +838,6 @@ mod tests { } } - #[test] - fn rejects_invalid_dscp_codepoints() { - assert!(parse(&["--dscp", "64", "127.0.0.1:2112"]).is_err()); - assert!(parse(&["--dscp", "-1", "127.0.0.1:2112"]).is_err()); - assert!(parse(&["--dscp", "abc", "127.0.0.1:2112"]).is_err()); - } - #[test] fn maps_loose_negotiation() { let args = parse(&["127.0.0.1:2112"]).unwrap(); @@ -896,9 +865,27 @@ mod tests { } #[test] - fn rejects_invalid_length() { - assert!(parse(&["--length", "-1", "127.0.0.1:2112"]).is_err()); - assert!(parse(&["--length", "65508", "127.0.0.1:2112"]).is_err()); + fn rejects_invalid_argument_values() { + for args in [ + &["--duration", "-1s", "127.0.0.1:2112"][..], + &["--duration", "5", "127.0.0.1:2112"], + &["--duration", "1h", "127.0.0.1:2112"], + &["--interval", "0ms", "127.0.0.1:2112"], + &["--interval", "-1ms", "127.0.0.1:2112"], + &["--sfill", "", "127.0.0.1:2112"], + &[ + "--sfill", + "0123456789abcdef0123456789abcdefx", + "127.0.0.1:2112", + ], + &["--dscp", "64", "127.0.0.1:2112"], + &["--dscp", "-1", "127.0.0.1:2112"], + &["--dscp", "abc", "127.0.0.1:2112"], + &["--length", "-1", "127.0.0.1:2112"], + &["--length", "65508", "127.0.0.1:2112"], + ] { + assert!(parse(args).is_err(), "expected parse failure for {args:?}"); + } } #[test]