From 43c0abb31e29b97bb21083dabddff43fb25caf23 Mon Sep 17 00:00:00 2001 From: jimmyfraiture Date: Tue, 30 Sep 2025 12:42:36 +0100 Subject: [PATCH] RV 6 --- codex-rs/core/src/codex.rs | 1 - codex-rs/core/src/executor/mod.rs | 6 +++--- codex-rs/core/src/executor/sandbox.rs | 8 ++------ codex-rs/core/tests/suite/seatbelt.rs | 6 ++++++ 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index 8e4e4475b2..20b3457562 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -64,7 +64,6 @@ use crate::exec_command::WRITE_STDIN_TOOL_NAME; use crate::exec_command::WriteStdinParams; use crate::exec_env::create_env; use crate::executor::ExecutionMode; -use crate::executor::ExecutionRequest; use crate::executor::Executor; use crate::executor::ExecutorConfig; use crate::executor::normalize_exec_result; diff --git a/codex-rs/core/src/executor/mod.rs b/codex-rs/core/src/executor/mod.rs index 3150f0176c..a5a305c604 100644 --- a/codex-rs/core/src/executor/mod.rs +++ b/codex-rs/core/src/executor/mod.rs @@ -9,7 +9,7 @@ pub(crate) use runner::Executor; pub(crate) use runner::ExecutorConfig; pub(crate) use runner::normalize_exec_result; -pub mod linkers { +pub(crate) mod linkers { use crate::codex::ExecCommandContext; use crate::exec::ExecParams; use crate::exec::StdoutStream; @@ -17,8 +17,8 @@ pub mod linkers { use crate::executor::runner::ExecutionRequest; pub struct PreparedExec { - pub context: ExecCommandContext, - pub request: ExecutionRequest, + pub(crate) context: ExecCommandContext, + pub(crate) request: ExecutionRequest, } impl PreparedExec { diff --git a/codex-rs/core/src/executor/sandbox.rs b/codex-rs/core/src/executor/sandbox.rs index d420dfed2f..a43760a9ff 100644 --- a/codex-rs/core/src/executor/sandbox.rs +++ b/codex-rs/core/src/executor/sandbox.rs @@ -1,21 +1,16 @@ -use crate::CODEX_APPLY_PATCH_ARG1; use crate::apply_patch::ApplyPatchExec; use crate::codex::Session; -use crate::exec::ExecParams; use crate::exec::SandboxType; -use crate::executor::errors::ExecError; use crate::executor::ExecutionMode; use crate::executor::ExecutionRequest; use crate::executor::ExecutorConfig; -use crate::function_tool::FunctionCallError; +use crate::executor::errors::ExecError; use crate::safety::SafetyCheck; use crate::safety::assess_command_safety; use crate::safety::assess_patch_safety; use codex_protocol::protocol::AskForApproval; use codex_protocol::protocol::ReviewDecision; -use std::collections::HashMap; use std::collections::HashSet; -use std::env; /// Sandbox placement options selected for an execution run, including whether /// to escalate after failures and whether approvals should persist. @@ -169,6 +164,7 @@ mod tests { use super::*; use crate::codex::make_session_and_context; use crate::exec::ExecParams; + use crate::function_tool::FunctionCallError; use crate::protocol::SandboxPolicy; use codex_apply_patch::ApplyPatchAction; use pretty_assertions::assert_eq; diff --git a/codex-rs/core/tests/suite/seatbelt.rs b/codex-rs/core/tests/suite/seatbelt.rs index 78f599d42e..a879d3e952 100644 --- a/codex-rs/core/tests/suite/seatbelt.rs +++ b/codex-rs/core/tests/suite/seatbelt.rs @@ -169,6 +169,12 @@ async fn python_getpwuid_works_under_seatbelt() { return; } + // For local dev. + if which::which("python3").is_err() { + eprintln!("python3 not found in PATH, skipping test."); + return; + } + // ReadOnly is sufficient here since we are only exercising user lookup. let policy = SandboxPolicy::ReadOnly; let command_cwd = std::env::current_dir().expect("getcwd");