mirror of
https://github.com/openai/codex.git
synced 2026-10-20 08:19:50 +00:00
Fix PID reservation test race and update guardian heartbeat snapshot (#47871)
## Why The PID reservation test could race with the backend's read on Windows by deleting the PID file from its cleanup task. The guardian heartbeat snapshot and environment normalization also needed to match the current permission-context wording. ## What changed - Release the reservation lock and let `stop()` remove the stale PID file, then assert that the file is gone. - Update the guardian heartbeat snapshot and normalization pattern to use `The active permission profile for environment`. GitOrigin-RevId: d9cadae0e5d36cb2e1ab0517e2d7121cf2d0715d
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -133,8 +133,8 @@ async fn heartbeat_repetitions_keep_later_human_authorization() -> anyhow::Resul
|
||||
"$1\"<ENVIRONMENT>\"",
|
||||
),
|
||||
(
|
||||
r#"(For this action on environment )"(?:local|remote)","#,
|
||||
"$1\"<ENVIRONMENT>\",",
|
||||
r#"(The active permission profile for environment )"(?:local|remote)""#,
|
||||
"$1\"<ENVIRONMENT>\"",
|
||||
),
|
||||
(r#"(?m)^(\s*"cwd": )"[^"]*""#, "$1\"<CWD>\""),
|
||||
(
|
||||
|
||||
+1
-1
@@ -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 "<ENVIRONMENT>", the active permission profile has no explicit denied-read paths/globs.
|
||||
[25] The active permission profile for environment "<ENVIRONMENT>" has no explicit denied-read paths/globs.
|
||||
|
||||
[26] >>> PARENT TURN PERMISSION CONTEXT END
|
||||
|
||||
|
||||
Reference in New Issue
Block a user