diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-03 20:38:05 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-03 20:38:05 +0300 |
| commit | 045f506ec8a333cde84718304a7d21bcdb93a1fc (patch) | |
| tree | 00e3ffaf6207c5505f77213b5e65376141d20f15 /tests/cli_wrapper.rs | |
| parent | ef67a97047c92e4af6b9d69c7292962426109bc1 (diff) | |
fix: keep windows wait connections open
refs #963
Diffstat (limited to 'tests/cli_wrapper.rs')
| -rw-r--r-- | tests/cli_wrapper.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/cli_wrapper.rs b/tests/cli_wrapper.rs index 99d4f107..41e924ee 100644 --- a/tests/cli_wrapper.rs +++ b/tests/cli_wrapper.rs @@ -4218,6 +4218,48 @@ fn wait_agent_status_exits_immediately_when_status_already_matches() { } #[test] +fn wait_agent_status_times_out_when_status_does_not_match() { + let base = unique_test_dir(); + let config_home = base.join("config"); + let runtime_dir = base.join("runtime"); + let socket_path = runtime_dir.join("herdr.sock"); + + let herdr = spawn_herdr(&config_home, &runtime_dir, &socket_path); + wait_for_socket(&socket_path, Duration::from_secs(5)); + + let created = send_request( + &socket_path, + &format!( + r#"{{"id":"req_cli_timeout_1","method":"workspace.create","params":{{"cwd":"{}","focus":true}}}}"#, + base.display() + ), + ); + assert_eq!(created["result"]["type"], "workspace_created"); + + let waited = run_cli( + &socket_path, + &[ + "wait", + "agent-status", + "1-1", + "--status", + "blocked", + "--timeout", + "100", + ], + ); + assert!(!waited.status.success()); + assert!( + String::from_utf8_lossy(&waited.stderr) + .contains("timed out waiting for agent status change"), + "stderr: {}", + String::from_utf8_lossy(&waited.stderr) + ); + + cleanup_spawned_herdr(herdr, base); +} + +#[test] fn wait_agent_status_exits_when_done_status_matches() { let base = unique_test_dir(); let config_home = base.join("config"); |
