feat(api): Add CLI flag and env var to enable test hooks
This commit is contained in:
3
gui.py
3
gui.py
@@ -14,6 +14,8 @@ import tomli_w
|
|||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import math
|
import math
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from tkinter import filedialog, Tk
|
from tkinter import filedialog, Tk
|
||||||
import aggregate
|
import aggregate
|
||||||
@@ -393,6 +395,7 @@ def _parse_history_entries(history: list[str], roles: list[str] | None = None) -
|
|||||||
class App:
|
class App:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.config = load_config()
|
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 ----
|
# ---- global settings from config.toml ----
|
||||||
ai_cfg = self.config.get("ai", {})
|
ai_cfg = self.config.get("ai", {})
|
||||||
|
|||||||
24
tests/test_hooks.py
Normal file
24
tests/test_hooks.py
Normal 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
|
||||||
Reference in New Issue
Block a user