881bc8a1bf
- pyproject.toml with uv, deps for runtime + gui + backtest + dev - ruff/mypy strict config, pre-commit hooks for ruff/mypy/pytest - src/cerbero_bite/ layout with empty modules ready for Phase 1+ - structlog JSONL logger with daily rotation - click CLI with placeholder subcommands (status, start, kill-switch, gui, replay, config hash, audit verify) - 6 smoke tests passing, mypy --strict clean, ruff clean Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
24 lines
574 B
Python
24 lines
574 B
Python
"""Shared pytest fixtures for Cerbero Bite tests."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from collections.abc import Iterator
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture
|
|
def tmp_data_dir(tmp_path: Path) -> Iterator[Path]:
|
|
"""Isolated data directory with the standard subfolder layout."""
|
|
data = tmp_path / "data"
|
|
(data / "log").mkdir(parents=True)
|
|
(data / "backups").mkdir()
|
|
yield data
|
|
|
|
|
|
@pytest.fixture
|
|
def project_root() -> Path:
|
|
"""Path to the project root (parent of ``src/``)."""
|
|
return Path(__file__).resolve().parent.parent
|