From ecddecec6221174dc0557b0cbea9a6322f7e77e3 Mon Sep 17 00:00:00 2001 From: Kyle Corbeille Date: Wed, 5 Aug 2026 19:15:17 -0500 Subject: fix(cli): accept --flag=value and reordered options in pane read/wait-output (#2183) * fix(cli): accept --flag=value and reordered options in pane read/wait-output * test(cli): trim redundant pane parser coverage --------- Co-authored-by: Can Celik --- tests/cli/panes.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests/cli') diff --git a/tests/cli/panes.rs b/tests/cli/panes.rs index 32110b36..fb6cd3de 100644 --- a/tests/cli/panes.rs +++ b/tests/cli/panes.rs @@ -566,3 +566,17 @@ fn pane_shell_gets_herdr_socket_and_pane_env() { cleanup_spawned_herdr(herdr, base); } + +#[test] +fn pane_read_rejects_invalid_value_with_usage_error() { + // Invalid option values fail as CLI usage errors before any server + // contact: exit 2 with the plain parser message, not the old + // `Error: Custom { ... }` io::Error wrapper from main. + let socket_path = Path::new("/tmp/herdr-cli-invalid-values-no-server.sock"); + + let read = run_cli(socket_path, &["pane", "read", "w1:p1", "--source", "bogus"]); + assert_eq!(read.status.code(), Some(2)); + let stderr = String::from_utf8_lossy(&read.stderr); + assert!(stderr.contains("invalid read source: bogus")); + assert!(!stderr.contains("Error: Custom")); +} -- cgit v1.2.3