Private
Public Access
0
0
Files
manual_slop/simulation/verify_fixes_20260517.py
T
2026-05-17 06:43:19 -04:00

81 lines
2.8 KiB
Python

import sys
import os
from pathlib import Path
# Fix sys.path
current_dir = os.path.dirname(os.path.abspath(__file__))
project_root = os.path.dirname(current_dir)
src_dir = os.path.join(project_root, "src")
for d in [project_root, src_dir]:
if d not in sys.path:
sys.path.insert(0, d)
# Ensure thirdparty is in sys.path
thirdparty = os.path.join(project_root, "thirdparty")
if thirdparty not in sys.path:
sys.path.insert(0, thirdparty)
import asyncio
from simulation.sim_base import BaseSimulation, run_sim
from src.gui_2 import App
from src.models import FileItem
class VerifyTrackFixesSim(BaseSimulation):
async def run(self):
app = self.app
print("[Sim] Starting verification of track fixes...")
# 1. Setup a test file in context
test_file = os.path.abspath("src/aggregate.py")
f_item = FileItem(path=test_file)
app.context_files = [f_item]
app.controller.context_files = app.context_files
await asyncio.sleep(0.5)
# 2. Verify AST Inspector
print("[Sim] Testing AST Inspector...")
app.ui_inspecting_ast_file = f_item
app._show_ast_inspector = True
await asyncio.sleep(0.5)
# Check if nodes were cached
if app._cached_ast_nodes:
print(f"[Sim] SUCCESS: AST nodes cached ({len(app._cached_ast_nodes)} nodes)")
else:
print("[Sim] FAILURE: No AST nodes cached")
# 3. Verify Slice Editor
print("[Sim] Testing Slice Editor...")
app.ui_editing_slices_file = f_item
app.text_viewer_title = f"Slices: {test_file}"
from src import mcp_client
app.text_viewer_content = mcp_client.read_file(test_file)
app.text_viewer_type = "python"
app.show_text_viewer = True
app.show_windows["Text Viewer"] = True
await asyncio.sleep(0.5)
# Test Auto-Populate button
print("[Sim] Testing Auto-Populate AST Slices...")
app._populate_auto_slices(f_item)
if f_item.custom_slices:
print(f"[Sim] SUCCESS: Auto-slices populated ({len(f_item.custom_slices)} slices)")
else:
print("[Sim] FAILURE: No auto-slices populated")
# 4. Verify Context Preview
print("[Sim] Testing Context Preview...")
app.context_preview_text = app.controller._do_generate()[0]
if "## Files" in app.context_preview_text and "aggregate.py" in app.context_preview_text:
print("[Sim] SUCCESS: Context preview generated with content")
else:
print(f"[Sim] FAILURE: Context preview text length: {len(app.context_preview_text)}")
print("[Sim] Verification finished.")
self.stop()
if __name__ == "__main__":
os.environ['SLOP_TEST_HOOKS'] = '1'
run_sim(VerifyTrackFixesSim)