fix(rag): stop live_gui tests from polluting session-scoped subprocess
Per Tier 1 investigation (docs/reports/INVESTIGATION_rag_phase4_final_verify_20260627.md), two live_gui tests were leaking temp/relative paths into the shared subprocess's ui_files_base_dir, which survived across @clean_baseline tests and caused RAGEngine.index_file to silently no-op on a dead base_dir. Three fixes: 1. tests/test_rag_visual_sim.py: stop using tempfile.mkdtemp() (which defaults to C:\Users\Ed\AppData\Local\Temp\tmpXXXX) and instead use tempfile.mkdtemp(dir="tests/artifacts", ...). Also restore files_base_dir and rag_enabled in finally so the next live_gui test in the session doesn't inherit the dead path. 2. tests/test_visual_sim_mma_v2.py: stop changing files_base_dir to 'tests/artifacts/temp_workspace' and stop clicking btn_project_save (which persisted the path to manual_slop.toml). The MMA lifecycle does not depend on a specific files_base_dir. 3. src/app_controller.py _handle_reset_session: defensive fix that resets ui_files_base_dir from the default project's base_dir. This makes reset_session() robust to any future polluter (not just the two known ones). Without this, a test that sets files_base_dir via set_value leaves a dead path in the session-scoped subprocess even after reset_session(). Verified: tests/test_rag_visual_sim.py passes 2/2 after the fix.
This commit is contained in:
@@ -3893,6 +3893,14 @@ class AppController:
|
||||
self.ui_ai_input = ""
|
||||
self.ui_manual_approve = False
|
||||
self.ui_auto_add_history = False
|
||||
# Reset ui_files_base_dir to a sane default so a prior live_gui test
|
||||
# that set a temp/relative path via set_value('files_base_dir', ...)
|
||||
# does not pollute the session-scoped subprocess with a dead path.
|
||||
# See tests/test_rag_visual_sim.py and tests/test_visual_sim_mma_v2.py
|
||||
# for the original polluters. Per Tier 1 investigation:
|
||||
# docs/reports/INVESTIGATION_rag_phase4_final_verify_20260627.md
|
||||
self.ui_files_base_dir = self.project.get("files", {}).get("base_dir", ".")
|
||||
self.ui_shots_base_dir = self.project.get("screenshots", {}).get("base_dir", ".")
|
||||
self.active_track = None
|
||||
self.active_tier = None
|
||||
self.mma_status = 'idle'
|
||||
|
||||
Reference in New Issue
Block a user