feat(api): Add CLI flag and env var to enable test hooks

This commit is contained in:
2026-02-23 12:06:53 -05:00
parent ddf6f0e1bc
commit 1306163446
2 changed files with 27 additions and 0 deletions

3
gui.py
View File

@@ -14,6 +14,8 @@ import tomli_w
import threading
import time
import math
import sys
import os
from pathlib import Path
from tkinter import filedialog, Tk
import aggregate
@@ -393,6 +395,7 @@ def _parse_history_entries(history: list[str], roles: list[str] | None = None) -
class App:
def __init__(self):
self.config = load_config()
self.test_hooks_enabled = '--enable-test-hooks' in sys.argv or os.environ.get('SLOP_TEST_HOOKS') == '1'
# ---- global settings from config.toml ----
ai_cfg = self.config.get("ai", {})

24
tests/test_hooks.py Normal file
View File

@@ -0,0 +1,24 @@
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
import pytest
from unittest.mock import patch
import gui
def test_hooks_enabled_via_cli():
with patch.object(sys, 'argv', ['gui.py', '--enable-test-hooks']):
app = gui.App()
assert app.test_hooks_enabled is True
def test_hooks_disabled_by_default():
with patch.object(sys, 'argv', ['gui.py']):
if 'SLOP_TEST_HOOKS' in os.environ:
del os.environ['SLOP_TEST_HOOKS']
app = gui.App()
assert getattr(app, 'test_hooks_enabled', False) is False
def test_hooks_enabled_via_env():
with patch.object(sys, 'argv', ['gui.py']):
with patch.dict(os.environ, {'SLOP_TEST_HOOKS': '1'}):
app = gui.App()
assert app.test_hooks_enabled is True