mirror of
https://github.com/openai/codex.git
synced 2026-09-15 12:08:01 +00:00
tests: align compaction snapshots with current main behavior
This commit is contained in:
@@ -3072,6 +3072,7 @@ async fn auto_compact_runs_when_reasoning_header_clears_between_turns() {
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||
// TODO(ccunningham): Update once pre-turn compaction includes incoming user input on main.
|
||||
async fn snapshot_request_shape_pre_turn_compaction_including_incoming_user_message() {
|
||||
skip_if_no_network!();
|
||||
|
||||
@@ -3156,8 +3157,8 @@ async fn snapshot_request_shape_pre_turn_compaction_including_incoming_user_mess
|
||||
"expected compact request to include summarization prompt"
|
||||
);
|
||||
assert!(
|
||||
compact_shape.contains("USER_THREE"),
|
||||
"expected compact request to include incoming user message"
|
||||
!compact_shape.contains("USER_THREE"),
|
||||
"current main behavior excludes incoming user message from pre-turn compaction input"
|
||||
);
|
||||
let follow_up_has_incoming_image = requests[3].inputs_of_type("message").iter().any(|item| {
|
||||
if item.get("role").and_then(Value::as_str) != Some("user") {
|
||||
@@ -3187,6 +3188,8 @@ async fn snapshot_request_shape_pre_turn_compaction_including_incoming_user_mess
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||
// TODO(ccunningham): Update once pre-turn compaction context-overflow handling includes incoming
|
||||
// user input and emits richer oversized-input messaging on main.
|
||||
async fn snapshot_request_shape_pre_turn_compaction_context_window_exceeded() {
|
||||
skip_if_no_network!();
|
||||
|
||||
@@ -3198,7 +3201,7 @@ async fn snapshot_request_shape_pre_turn_compaction_context_window_exceeded() {
|
||||
]);
|
||||
let mut responses = vec![first_turn];
|
||||
responses.extend(
|
||||
(0..7).map(|_| {
|
||||
(0..6).map(|_| {
|
||||
sse_failed(
|
||||
"compact-failed",
|
||||
"context_length_exceeded",
|
||||
@@ -3266,19 +3269,13 @@ async fn snapshot_request_shape_pre_turn_compaction_context_window_exceeded() {
|
||||
);
|
||||
|
||||
assert!(
|
||||
include_attempt_shape.contains("USER_TWO"),
|
||||
"first pre-turn attempt should include incoming user message"
|
||||
!include_attempt_shape.contains("USER_TWO"),
|
||||
"current main behavior excludes incoming user message from pre-turn compaction input"
|
||||
);
|
||||
assert!(
|
||||
error_message.contains(
|
||||
"Incoming user message and/or turn context is too large to fit in context window"
|
||||
),
|
||||
error_message.contains("ran out of room in the model's context window"),
|
||||
"expected context window exceeded message, got {error_message}"
|
||||
);
|
||||
assert!(
|
||||
error_message.contains("incoming_items_tokens_estimate="),
|
||||
"expected token estimate in error message, got {error_message}"
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||
|
||||
@@ -1468,6 +1468,7 @@ async fn remote_compact_refreshes_stale_developer_instructions_without_resume()
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||
// TODO(ccunningham): Update once remote pre-turn compaction includes incoming user input on main.
|
||||
async fn snapshot_request_shape_remote_pre_turn_compaction_including_incoming_user_message()
|
||||
-> Result<()> {
|
||||
skip_if_no_network!(Ok(()));
|
||||
@@ -1545,8 +1546,8 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_including_incoming_us
|
||||
])
|
||||
);
|
||||
assert!(
|
||||
compact_shape.contains("USER_THREE"),
|
||||
"remote compaction request should include incoming user message"
|
||||
!compact_shape.contains("USER_THREE"),
|
||||
"current main behavior excludes incoming user message from remote pre-turn compaction input"
|
||||
);
|
||||
assert!(
|
||||
follow_up_shape.contains("<SUMMARY:REMOTE_PRE_TURN_SUMMARY>"),
|
||||
@@ -1557,6 +1558,8 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_including_incoming_us
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||
// TODO(ccunningham): Update once remote pre-turn compaction failure path includes incoming
|
||||
// user input on main.
|
||||
async fn snapshot_request_shape_remote_pre_turn_compaction_failure_stops_without_retry()
|
||||
-> Result<()> {
|
||||
skip_if_no_network!(Ok(()));
|
||||
@@ -1643,8 +1646,8 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_failure_stops_without
|
||||
),])
|
||||
);
|
||||
assert!(
|
||||
include_attempt_shape.contains("USER_TWO"),
|
||||
"first remote pre-turn compaction attempt should include incoming user message"
|
||||
!include_attempt_shape.contains("USER_TWO"),
|
||||
"current main behavior excludes incoming user message from remote pre-turn compaction input"
|
||||
);
|
||||
assert!(
|
||||
error_message.contains("invalid compact payload shape")
|
||||
@@ -1736,6 +1739,7 @@ async fn snapshot_request_shape_remote_mid_turn_continuation_compaction() -> Res
|
||||
}
|
||||
|
||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
||||
// TODO(ccunningham): Update once manual remote /compact with no prior user turn becomes a no-op.
|
||||
async fn snapshot_request_shape_remote_manual_compact_without_previous_user_messages() -> Result<()>
|
||||
{
|
||||
skip_if_no_network!(Ok(()));
|
||||
@@ -1775,17 +1779,18 @@ async fn snapshot_request_shape_remote_manual_compact_without_previous_user_mess
|
||||
|
||||
assert_eq!(
|
||||
compact_mock.requests().len(),
|
||||
0,
|
||||
"manual remote /compact should skip remote compaction when there is no associated user"
|
||||
1,
|
||||
"current main behavior still issues remote compaction for manual /compact without prior user"
|
||||
);
|
||||
let compact_request = compact_mock.single_request();
|
||||
let follow_up_request = responses_mock.single_request();
|
||||
let follow_up_shape = request_input_shape(&follow_up_request);
|
||||
insta::assert_snapshot!(
|
||||
"remote_manual_compact_without_prev_user_shapes",
|
||||
format!(
|
||||
"## Remote Post-Compaction History Layout\n{}",
|
||||
request_input_shape(&follow_up_request)
|
||||
)
|
||||
sectioned_request_shapes(&[
|
||||
("Remote Compaction Request", &compact_request),
|
||||
("Remote Post-Compaction History Layout", &follow_up_request),
|
||||
])
|
||||
);
|
||||
assert!(
|
||||
!follow_up_shape.contains("<SUMMARY:REMOTE_MANUAL_EMPTY_SUMMARY>"),
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact.rs
|
||||
assertion_line: 3086
|
||||
expression: "sectioned_request_shapes(&[(\"Local Compaction Request\", &requests[1]),\n(\"Local Post-Compaction History Layout\", &requests[2]),])"
|
||||
---
|
||||
## Local Compaction Request
|
||||
@@ -11,9 +12,9 @@ expression: "sectioned_request_shapes(&[(\"Local Compaction Request\", &requests
|
||||
05:message/user:<SUMMARIZATION_PROMPT>
|
||||
|
||||
## Local Post-Compaction History Layout
|
||||
00:message/user:USER_ONE
|
||||
01:message/user:<SUMMARY:MANUAL_SUMMARY>
|
||||
02:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
03:message/user:<AGENTS_MD>
|
||||
04:message/user:<ENVIRONMENT_CONTEXT>
|
||||
00:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
01:message/user:<AGENTS_MD>
|
||||
02:message/user:<ENVIRONMENT_CONTEXT>
|
||||
03:message/user:USER_ONE
|
||||
04:message/user:<SUMMARY:MANUAL_SUMMARY>
|
||||
05:message/user:USER_TWO
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact.rs
|
||||
assertion_line: 2878
|
||||
expression: "sectioned_request_shapes(&[(\"Local Compaction Request (Including Incoming User Message)\",\n&requests[1]),])"
|
||||
---
|
||||
## Local Compaction Request (Including Incoming User Message)
|
||||
@@ -8,5 +9,4 @@ expression: "sectioned_request_shapes(&[(\"Local Compaction Request (Including I
|
||||
02:message/user:<ENVIRONMENT_CONTEXT>
|
||||
03:message/user:USER_ONE
|
||||
04:message/assistant:FIRST_REPLY
|
||||
05:message/user:USER_TWO
|
||||
06:message/user:<SUMMARIZATION_PROMPT>
|
||||
05:message/user:<SUMMARIZATION_PROMPT>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact.rs
|
||||
assertion_line: 2763
|
||||
expression: "sectioned_request_shapes(&[(\"Local Compaction Request\", &requests[2]),\n(\"Local Post-Compaction History Layout\", &requests[3]),])"
|
||||
---
|
||||
## Local Compaction Request
|
||||
@@ -10,14 +11,13 @@ expression: "sectioned_request_shapes(&[(\"Local Compaction Request\", &requests
|
||||
04:message/assistant:FIRST_REPLY
|
||||
05:message/user:USER_TWO
|
||||
06:message/assistant:SECOND_REPLY
|
||||
07:message/user:<image> | </image> | USER_THREE
|
||||
08:message/user:<SUMMARIZATION_PROMPT>
|
||||
07:message/user:<SUMMARIZATION_PROMPT>
|
||||
|
||||
## Local Post-Compaction History Layout
|
||||
00:message/user:USER_ONE
|
||||
01:message/user:USER_TWO
|
||||
02:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
03:message/user:<AGENTS_MD>
|
||||
04:message/user:<ENVIRONMENT_CONTEXT>
|
||||
05:message/user:<image> | </image> | USER_THREE
|
||||
06:message/user:<SUMMARY:PRE_TURN_SUMMARY>
|
||||
00:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
01:message/user:<AGENTS_MD>
|
||||
02:message/user:<ENVIRONMENT_CONTEXT>
|
||||
03:message/user:USER_ONE
|
||||
04:message/user:USER_TWO
|
||||
05:message/user:<SUMMARY:PRE_TURN_SUMMARY>
|
||||
06:message/user:<image> | </image> | USER_THREE
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact_remote.rs
|
||||
assertion_line: 1879
|
||||
expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact_request),\n(\"Remote Post-Compaction History Layout\", &requests[1]),])"
|
||||
---
|
||||
## Remote Compaction Request
|
||||
@@ -11,8 +12,8 @@ expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact
|
||||
|
||||
## Remote Post-Compaction History Layout
|
||||
00:message/user:USER_ONE
|
||||
01:message/user:<SUMMARY:REMOTE_MANUAL_WITH_HISTORY_SUMMARY>
|
||||
02:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
03:message/user:<AGENTS_MD>
|
||||
04:message/user:<ENVIRONMENT_CONTEXT>
|
||||
01:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
02:message/user:<AGENTS_MD>
|
||||
03:message/user:<ENVIRONMENT_CONTEXT>
|
||||
04:message/user:<SUMMARY:REMOTE_MANUAL_WITH_HISTORY_SUMMARY>
|
||||
05:message/user:USER_TWO
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
---
|
||||
source: core/tests/suite/compact_remote.rs
|
||||
expression: "format!(\"## Remote Post-Compaction History Layout\\n{}\",\nrequest_input_shape(&follow_up_request))"
|
||||
assertion_line: 1793
|
||||
expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact_request),\n(\"Remote Post-Compaction History Layout\", &follow_up_request),])"
|
||||
---
|
||||
## Remote Compaction Request
|
||||
00:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
01:message/user:<AGENTS_MD>
|
||||
02:message/user:<ENVIRONMENT_CONTEXT>
|
||||
|
||||
## Remote Post-Compaction History Layout
|
||||
00:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
01:message/user:<AGENTS_MD>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact_remote.rs
|
||||
assertion_line: 1727
|
||||
expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact_request),\n(\"Remote Post-Compaction History Layout\", &requests[1]),])"
|
||||
---
|
||||
## Remote Compaction Request
|
||||
@@ -11,8 +12,8 @@ expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact
|
||||
05:function_call_output:<TOOL_ERROR_OUTPUT>
|
||||
|
||||
## Remote Post-Compaction History Layout
|
||||
00:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
01:message/user:<AGENTS_MD>
|
||||
02:message/user:<ENVIRONMENT_CONTEXT>
|
||||
03:message/user:USER_ONE
|
||||
00:message/user:USER_ONE
|
||||
01:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
02:message/user:<AGENTS_MD>
|
||||
03:message/user:<ENVIRONMENT_CONTEXT>
|
||||
04:message/user:<SUMMARY:REMOTE_MID_TURN_SUMMARY>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact_remote.rs
|
||||
assertion_line: 1646
|
||||
expression: "sectioned_request_shapes(&[(\"Remote Compaction Request (Including Incoming User Message)\",\n&include_attempt_request),])"
|
||||
---
|
||||
## Remote Compaction Request (Including Incoming User Message)
|
||||
@@ -8,4 +9,3 @@ expression: "sectioned_request_shapes(&[(\"Remote Compaction Request (Including
|
||||
02:message/user:<ENVIRONMENT_CONTEXT>
|
||||
03:message/user:USER_ONE
|
||||
04:message/assistant:REMOTE_FIRST_REPLY
|
||||
05:message/user:USER_TWO
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
---
|
||||
source: core/tests/suite/compact_remote.rs
|
||||
assertion_line: 1546
|
||||
expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact_request),\n(\"Remote Post-Compaction History Layout\", &requests[2]),])"
|
||||
---
|
||||
## Remote Compaction Request
|
||||
@@ -10,13 +11,13 @@ expression: "sectioned_request_shapes(&[(\"Remote Compaction Request\", &compact
|
||||
04:message/assistant:REMOTE_FIRST_REPLY
|
||||
05:message/user:USER_TWO
|
||||
06:message/assistant:REMOTE_SECOND_REPLY
|
||||
07:message/user:USER_THREE
|
||||
|
||||
## Remote Post-Compaction History Layout
|
||||
00:message/user:USER_ONE
|
||||
01:message/user:USER_TWO
|
||||
02:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
03:message/user:<AGENTS_MD>
|
||||
04:message/user:<ENVIRONMENT_CONTEXT>
|
||||
05:message/user:USER_THREE
|
||||
02:message/user:USER_THREE
|
||||
03:message/developer:<PERMISSIONS_INSTRUCTIONS>
|
||||
04:message/user:<AGENTS_MD>
|
||||
05:message/user:<ENVIRONMENT_CONTEXT>
|
||||
06:message/user:<SUMMARY:REMOTE_PRE_TURN_SUMMARY>
|
||||
07:message/user:USER_THREE
|
||||
|
||||
Reference in New Issue
Block a user