2026-03-06 01:20:14 -05:00
[tox]
envlist = unit, integration
skipsdist = true
[testenv]
allowlist_externals = poetry
commands_pre = poetry install --with dev --quiet
[testenv:unit]
2026-03-06 13:21:05 -05:00
description = Fast unit tests (no I/O, no external services)
2026-03-08 12:50:44 -04:00
commands = poetry run pytest tests/ -q --tb=short -m "unit and not integration and not ollama and not docker and not selenium and not external_api"
2026-03-06 01:20:14 -05:00
[testenv:integration]
2026-03-06 13:21:05 -05:00
description = Integration tests (may use SQLite, but no external services)
2026-03-08 12:50:44 -04:00
commands = poetry run pytest tests/ -q --tb=short -m "integration and not unit and not ollama and not docker and not selenium and not external_api"
2026-03-06 01:20:14 -05:00
[testenv:ollama]
description = Live LLM tests via Ollama (requires Ollama running with a tiny model)
commands = poetry run pytest tests/ -q --tb=short -m ollama --timeout=120
2026-03-06 13:21:05 -05:00
[testenv:coverage]
description = Run all tests with coverage reporting
commands = poetry run pytest tests/ -q --tb=short --cov=src --cov-report=term-missing --cov-fail-under=73 -p no:xdist -m "not ollama and not docker and not selenium and not external_api"