[pytest] # Pytest configuration for integration testing # Test discovery testpaths = tests python_files = test_*.py python_classes = Test* python_functions = test_* # Output options addopts = -v --tb=short --strict-markers --disable-warnings --color=yes -ra --cov=src --cov-report=html:coverage_html --cov-report=term-missing --cov-report=xml:coverage.xml --cov-report=json:coverage.json --junitxml=test-results/junit.xml # Markers for categorizing tests markers = integration: Integration tests (end-to-end system tests) unit: Unit tests (individual component tests) slow: Slow running tests benchmark: Performance benchmark tests requires_gpu: Tests that require GPU requires_network: Tests that require network access stress: Stress tests with high load camera: Camera system tests detection: Detection and tracking tests streaming: Network streaming tests fusion: Multi-modal fusion tests # Coverage options [coverage:run] branch = True source = src omit = */tests/* */test_*.py */__pycache__/* */site-packages/* */venv/* [coverage:report] precision = 2 show_missing = True skip_covered = False exclude_lines = pragma: no cover def __repr__ raise AssertionError raise NotImplementedError if __name__ == .__main__.: if TYPE_CHECKING: @abstractmethod [coverage:html] directory = coverage_html # Logging log_cli = true log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(message)s log_cli_date_format = %Y-%m-%d %H:%M:%S # Timeout for tests (in seconds) timeout = 300 # Parallel execution # Uncomment to run tests in parallel # addopts = -n auto