[pytest]
# ==============================
# Pytest configuration - AegisAI
# ==============================
# Test discovery
python_files = test_*.py
python_classes = Test*
python_functions = test_*
testpaths = tests
# Minimum supported Python version
minversion = 3.9
# Ensure project root is on PYTHONPATH
pythonpath = .
# Test markers
markers =
unit: Fast unit tests with no external dependencies
integration: Integration tests (may use database or network)
api: API and HTTP endpoint tests
slow: Tests that take longer than 1 second
# Default pytest options
# Note: -p no:warnings can be used for a totally clean UI, but filterwarnings is more precise
addopts =
-v
--strict-markers
--tb=short
--color=yes
--cov=agents
--cov=api
--cov=services
--cov=config
--cov=utils
--cov-report=term-missing
--cov-report=html
# Async support (pytest-asyncio)
asyncio_mode = auto
[coverage:run]
# Measure only application code
# REMOVED video_processor.py from omit so it contributes to the total coverage score
omit =
*/tests/*
*/.venv/*
*/venv/*
*/__pycache__/*
*/migrations/*
*/verify_backend.py
*/__init__.py
[coverage:report]
precision = 2
skip_empty = True
exclude_lines =
pragma: no cover
def __repr__
raise AssertionError
raise NotImplementedError
if __name__ == "__main__":
if TYPE_CHECKING:
@abstractmethod
# This section silences the specific RuntimeWarnings you were seeing
filterwarnings =
ignore::DeprecationWarning
ignore::FutureWarning
ignore:coroutine '.*' was never awaited:RuntimeWarning
ignore:The object MagicMock can't be used in 'await' expression:TypeError