Files
UnheardCity/tests/conftest.py
2026-10-09 02:48:24 +02:00

51 lines
1.3 KiB
Python

import os
import shutil
import sys
import pytest
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, ROOT)
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
@pytest.fixture(autouse=True)
def isolated_home(tmp_path, monkeypatch):
"""User data/config/cache go to a temp folder (never touch the real settings or stores)."""
monkeypatch.setenv("ACKIT_HOME", str(tmp_path / "home"))
yield
@pytest.fixture(scope="session")
def synth_template(tmp_path_factory):
import synth
d = tmp_path_factory.mktemp("synth_template")
originals = synth.make_game(str(d))
return str(d), originals
@pytest.fixture
def synth_game(synth_template, tmp_path):
"""A fresh copy of the synthetic game folder for each test -> (root, originals)."""
src, originals = synth_template
dst = str(tmp_path / "game")
shutil.copytree(src, dst)
return dst, originals
def _real_game():
from ackit.game import find_installs
try:
found = find_installs()
except Exception:
found = []
return found[0] if found else None
@pytest.fixture(scope="session")
def real_game_dir():
d = os.environ.get("ACKIT_TEST_GAME") or _real_game()
if not d:
pytest.skip("real game not installed")
return d