mirror of
https://github.com/openai/codex.git
synced 2026-10-20 17:38:45 +00:00
codex: fix CI failure on PR #26259
This commit is contained in:
@@ -214,6 +214,7 @@ fn append_hook_events(existing: &mut HookEventsToml, incoming: HookEventsToml) -
|
||||
subagent_start,
|
||||
subagent_stop,
|
||||
stop,
|
||||
interrupt,
|
||||
} = incoming;
|
||||
|
||||
let mut changed = false;
|
||||
@@ -227,6 +228,7 @@ fn append_hook_events(existing: &mut HookEventsToml, incoming: HookEventsToml) -
|
||||
changed |= append_vec(&mut existing.subagent_start, subagent_start);
|
||||
changed |= append_vec(&mut existing.subagent_stop, subagent_stop);
|
||||
changed |= append_vec(&mut existing.stop, stop);
|
||||
changed |= append_vec(&mut existing.interrupt, interrupt);
|
||||
changed
|
||||
}
|
||||
|
||||
@@ -235,3 +237,52 @@ fn append_vec<T>(existing: &mut Vec<T>, mut incoming: Vec<T>) -> bool {
|
||||
existing.append(&mut incoming);
|
||||
changed
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use pretty_assertions::assert_eq;
|
||||
|
||||
use super::append_hook_events;
|
||||
use crate::HookEventsToml;
|
||||
use crate::HookHandlerConfig;
|
||||
use crate::MatcherGroup;
|
||||
|
||||
#[test]
|
||||
fn append_hook_events_appends_interrupt_handlers() {
|
||||
let mut existing = HookEventsToml::default();
|
||||
let changed = append_hook_events(
|
||||
&mut existing,
|
||||
HookEventsToml {
|
||||
interrupt: vec![MatcherGroup {
|
||||
matcher: None,
|
||||
hooks: vec![HookHandlerConfig::Command {
|
||||
command: "python3 /tmp/interrupt.py".to_string(),
|
||||
command_windows: None,
|
||||
timeout_sec: None,
|
||||
r#async: false,
|
||||
status_message: None,
|
||||
}],
|
||||
}],
|
||||
..Default::default()
|
||||
},
|
||||
);
|
||||
|
||||
assert!(changed);
|
||||
assert_eq!(
|
||||
existing,
|
||||
HookEventsToml {
|
||||
interrupt: vec![MatcherGroup {
|
||||
matcher: None,
|
||||
hooks: vec![HookHandlerConfig::Command {
|
||||
command: "python3 /tmp/interrupt.py".to_string(),
|
||||
command_windows: None,
|
||||
timeout_sec: None,
|
||||
r#async: false,
|
||||
status_message: None,
|
||||
}],
|
||||
}],
|
||||
..Default::default()
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user