From 9b97c4d832ca55c77a315f2483807ab0359c221a Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 5 May 2026 04:49:46 +0900 Subject: [PATCH] fix(tests): isolate CLAW_CONFIG_HOME in resumed_status JSON test (#2992) resumed_status_command_emits_structured_json_when_requested was reading the real ~/.claw/settings.json, causing loaded_config_files to be 1 instead of the expected 0 on machines with user config present. Root cause: unlike other tests (e.g. resumed_config_command_loads_settings_files), this test did not pass an isolated CLAW_CONFIG_HOME env var to run_claw, so claw fell back to the real HOME and loaded the developer's settings file. Fix: create a temp config-home dir and pass it as CLAW_CONFIG_HOME via run_claw_with_env. This gives the assertion a clean 0-file baseline. Unblocks PRs #2973, #2988, #2990 which all failed this same test on main. Ref: ROADMAP #65 --- .../crates/rusty-claude-cli/tests/resume_slash_commands.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rust/crates/rusty-claude-cli/tests/resume_slash_commands.rs b/rust/crates/rusty-claude-cli/tests/resume_slash_commands.rs index 21b8942e..a035544f 100644 --- a/rust/crates/rusty-claude-cli/tests/resume_slash_commands.rs +++ b/rust/crates/rusty-claude-cli/tests/resume_slash_commands.rs @@ -227,6 +227,8 @@ fn resumed_status_command_emits_structured_json_when_requested() { // given let temp_dir = unique_temp_dir("resume-status-json"); fs::create_dir_all(&temp_dir).expect("temp dir should exist"); + let config_home = temp_dir.join("config-home"); + fs::create_dir_all(&config_home).expect("isolated config home should exist"); let session_path = temp_dir.join("session.jsonl"); let mut session = workspace_session(&temp_dir); @@ -238,7 +240,9 @@ fn resumed_status_command_emits_structured_json_when_requested() { .expect("session should persist"); // when - let output = run_claw( + // Use an isolated CLAW_CONFIG_HOME so ~/.claw/settings.json is not loaded, + // which would cause loaded_config_files to be non-zero (#65). + let output = run_claw_with_env( &temp_dir, &[ "--output-format", @@ -247,6 +251,7 @@ fn resumed_status_command_emits_structured_json_when_requested() { session_path.to_str().expect("utf8 path"), "/status", ], + &[("CLAW_CONFIG_HOME", config_home.to_str().expect("utf8 path"))], ); // then