fix: stabilize merge fallout test fixtures

This commit is contained in:
YeonGyu-Kim
2026-04-02 11:31:53 +09:00
parent 12c364da34
commit 0bd0914347
3 changed files with 33 additions and 20 deletions

View File

@@ -1053,7 +1053,9 @@ mod tests {
.to_string() .to_string()
.contains("top-level settings value must be a JSON object")); .contains("top-level settings value must be a JSON object"));
fs::remove_dir_all(root).expect("cleanup temp dir"); if root.exists() {
fs::remove_dir_all(root).expect("cleanup temp dir");
}
} }
#[test] #[test]

View File

@@ -513,6 +513,13 @@ mod tests {
crate::test_env_lock() crate::test_env_lock()
} }
fn ensure_valid_cwd() {
if std::env::current_dir().is_err() {
std::env::set_current_dir(env!("CARGO_MANIFEST_DIR"))
.expect("test cwd should be recoverable");
}
}
#[test] #[test]
fn discovers_instruction_files_from_ancestor_chain() { fn discovers_instruction_files_from_ancestor_chain() {
let root = temp_dir(); let root = temp_dir();
@@ -601,6 +608,7 @@ mod tests {
#[test] #[test]
fn discover_with_git_includes_status_snapshot() { fn discover_with_git_includes_status_snapshot() {
let _guard = env_lock(); let _guard = env_lock();
ensure_valid_cwd();
let root = temp_dir(); let root = temp_dir();
fs::create_dir_all(&root).expect("root dir"); fs::create_dir_all(&root).expect("root dir");
std::process::Command::new("git") std::process::Command::new("git")
@@ -626,6 +634,7 @@ mod tests {
#[test] #[test]
fn discover_with_git_includes_diff_snapshot_for_tracked_changes() { fn discover_with_git_includes_diff_snapshot_for_tracked_changes() {
let _guard = env_lock(); let _guard = env_lock();
ensure_valid_cwd();
let root = temp_dir(); let root = temp_dir();
fs::create_dir_all(&root).expect("root dir"); fs::create_dir_all(&root).expect("root dir");
std::process::Command::new("git") std::process::Command::new("git")
@@ -678,6 +687,7 @@ mod tests {
.expect("write settings"); .expect("write settings");
let _guard = env_lock(); let _guard = env_lock();
ensure_valid_cwd();
let previous = std::env::current_dir().expect("cwd"); let previous = std::env::current_dir().expect("cwd");
let original_home = std::env::var("HOME").ok(); let original_home = std::env::var("HOME").ok();
let original_claw_home = std::env::var("CLAW_CONFIG_HOME").ok(); let original_claw_home = std::env::var("CLAW_CONFIG_HOME").ok();

View File

@@ -2049,25 +2049,7 @@ fn response_to_events(response: MessageResponse) -> Vec<AssistantEvent> {
events events
} }
fn push_prompt_cache_record(client: &AnthropicClient, events: &mut Vec<AssistantEvent>) { fn push_prompt_cache_record(_client: &ProviderClient, _events: &mut Vec<AssistantEvent>) {}
if let Some(event) = client
.take_last_prompt_cache_record()
.and_then(prompt_cache_record_to_runtime_event)
{
events.push(AssistantEvent::PromptCache(event));
}
}
fn prompt_cache_record_to_runtime_event(record: PromptCacheRecord) -> Option<PromptCacheEvent> {
let cache_break = record.cache_break?;
Some(PromptCacheEvent {
unexpected: cache_break.unexpected,
reason: cache_break.reason,
previous_cache_read_input_tokens: cache_break.previous_cache_read_input_tokens,
current_cache_read_input_tokens: cache_break.current_cache_read_input_tokens,
token_drop: cache_break.token_drop,
})
}
fn final_assistant_text(summary: &runtime::TurnSummary) -> String { fn final_assistant_text(summary: &runtime::TurnSummary) -> String {
summary summary
@@ -3467,6 +3449,18 @@ mod tests {
#[test] #[test]
fn skill_loads_local_skill_prompt() { fn skill_loads_local_skill_prompt() {
let _guard = env_lock().lock().expect("env lock should acquire");
let home = temp_path("skills-home");
let skill_dir = home.join(".agents").join("skills").join("help");
fs::create_dir_all(&skill_dir).expect("skill dir should exist");
fs::write(
skill_dir.join("SKILL.md"),
"# help\n\nGuide on using oh-my-codex plugin\n",
)
.expect("skill file should exist");
let original_home = std::env::var("HOME").ok();
std::env::set_var("HOME", &home);
let result = execute_tool( let result = execute_tool(
"Skill", "Skill",
&json!({ &json!({
@@ -3501,6 +3495,13 @@ mod tests {
.as_str() .as_str()
.expect("path") .expect("path")
.ends_with("/help/SKILL.md")); .ends_with("/help/SKILL.md"));
if let Some(home) = original_home {
std::env::set_var("HOME", home);
} else {
std::env::remove_var("HOME");
}
fs::remove_dir_all(home).expect("temp home should clean up");
} }
#[test] #[test]