diff --git a/codex-rs/app-server-daemon/src/backend/pid_tests.rs b/codex-rs/app-server-daemon/src/backend/pid_tests.rs index cf9c5b4e3b..19d262c097 100644 --- a/codex-rs/app-server-daemon/src/backend/pid_tests.rs +++ b/codex-rs/app-server-daemon/src/backend/pid_tests.rs @@ -109,16 +109,16 @@ async fn stop_waits_for_live_reservation_to_resolve() { .await .expect("open pid lock file"); assert!(try_lock_file(&reservation).expect("lock reservation")); - let cleanup = tokio::spawn(async move { - tokio::time::sleep(Duration::from_millis(50)).await; + let release_reservation = tokio::spawn(async move { + tokio::time::sleep(Duration::from_millis(/*millis*/ 50)).await; + // Let stop() remove the stale PID file under the reservation lock. + // Deleting it here would race with the backend's read on Windows. drop(reservation); - tokio::fs::remove_file(pid_file) - .await - .expect("remove pid file"); }); backend.stop().await.expect("stop"); - cleanup.await.expect("cleanup task"); + release_reservation.await.expect("release reservation task"); + assert!(!pid_file.exists()); } #[tokio::test] diff --git a/codex-rs/core/tests/suite/scenarios_guardian_heartbeat.rs b/codex-rs/core/tests/suite/scenarios_guardian_heartbeat.rs index 6d9dc25437..2ae5b5947a 100644 --- a/codex-rs/core/tests/suite/scenarios_guardian_heartbeat.rs +++ b/codex-rs/core/tests/suite/scenarios_guardian_heartbeat.rs @@ -133,8 +133,8 @@ async fn heartbeat_repetitions_keep_later_human_authorization() -> anyhow::Resul "$1\"\"", ), ( - r#"(For this action on environment )"(?:local|remote)","#, - "$1\"\",", + r#"(The active permission profile for environment )"(?:local|remote)""#, + "$1\"\"", ), (r#"(?m)^(\s*"cwd": )"[^"]*""#, "$1\"\""), ( diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap index a02eca419c..3d390552f2 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__guardian_heartbeat__heartbeat_repetitions_keep_later_human_authorization.snap @@ -147,7 +147,7 @@ Scenario: Three scheduled runs share one instruction body, a human overrides its [24] >>> PARENT TURN PERMISSION CONTEXT START - [25] For this action on environment "", the active permission profile has no explicit denied-read paths/globs. + [25] The active permission profile for environment "" has no explicit denied-read paths/globs. [26] >>> PARENT TURN PERMISSION CONTEXT END