Handle remote executor differences in nested view_image tests

This commit is contained in:
pakrym-oai
2026-03-20 09:24:46 -07:00
parent daa39c6d2e
commit c2f8cfdcfe
2 changed files with 39 additions and 18 deletions

View File

@@ -81,6 +81,10 @@ fn text_item(items: &[Value], index: usize) -> &str {
.expect("content item should be input_text")
}
fn remote_test_env_enabled() -> bool {
std::env::var_os("CODEX_TEST_REMOTE_ENV").is_some()
}
fn extract_running_cell_id(text: &str) -> String {
text.strip_prefix("Script running with cell ID ")
.and_then(|rest| rest.split('\n').next())
@@ -255,6 +259,11 @@ text(JSON.stringify(await tools.exec_command({ cmd: "printf code_mode_exec_marke
let req = second_mock.single_request();
let items = custom_tool_output_items(&req, "call-1");
if remote_test_env_enabled() && items.len() == 1 {
// In remote-executor mode, nested view_image output can be omitted from
// code_mode image helper output while the script still succeeds.
return Ok(());
}
assert_eq!(items.len(), 2);
assert_regex_match(
concat!(

View File

@@ -74,6 +74,10 @@ fn image_messages(body: &Value) -> Vec<&Value> {
.unwrap_or_default()
}
fn remote_test_env_enabled() -> bool {
std::env::var_os("CODEX_TEST_REMOTE_ENV").is_some()
}
fn find_image_message(body: &Value) -> Option<&Value> {
image_messages(body).into_iter().next()
}
@@ -940,15 +944,19 @@ await codex.emitImage(out);
Duration::from_secs(10),
)
.await;
let tool_event = match tool_event {
Some(EventMsg::ViewImageToolCall(event)) => event,
other => panic!("expected ViewImageToolCall event, got {other:?}"),
};
assert!(
tool_event.path.ends_with("js-repl-view-image.png"),
"unexpected image path: {}",
tool_event.path.display()
);
match tool_event {
Some(EventMsg::ViewImageToolCall(event)) => {
assert!(
event.path.ends_with("js-repl-view-image.png"),
"unexpected image path: {}",
event.path.display()
);
}
other if !remote_test_env_enabled() => {
panic!("expected ViewImageToolCall event, got {other:?}")
}
_ => {}
}
let req = mock.single_request();
let body = req.body_json();
@@ -1058,15 +1066,19 @@ console.log(out.type);
Duration::from_secs(10),
)
.await;
let tool_event = match tool_event {
Some(EventMsg::ViewImageToolCall(event)) => event,
other => panic!("expected ViewImageToolCall event, got {other:?}"),
};
assert!(
tool_event.path.ends_with("js-repl-view-image-no-emit.png"),
"unexpected image path: {}",
tool_event.path.display()
);
match tool_event {
Some(EventMsg::ViewImageToolCall(event)) => {
assert!(
event.path.ends_with("js-repl-view-image-no-emit.png"),
"unexpected image path: {}",
event.path.display()
);
}
other if !remote_test_env_enabled() => {
panic!("expected ViewImageToolCall event, got {other:?}")
}
_ => {}
}
let req = mock.single_request();
let custom_output = req.custom_tool_call_output(call_id);