[pytest] # Pytest configuration for PyWinAuto MCP # Test discovery patterns python_files = test_*.py python_classes = Test* python_functions = test_* # Test paths testpaths = tests # Output options addopts = -v --strict-markers --tb=short -m "not e2e" --cov=src/windows_computer_use_mcp --cov-report=term-missing --cov-report=html --cov-report=xml --cov-fail-under=30 -p no:warnings --ignore=tests/test_face_recognition.py --ignore=tests/test_face_recognition_api.py # Markers markers = slow: marks tests as slow (deselect with '-m "not slow"') integration: marks tests as integration tests unit: marks tests as unit tests windows_only: marks tests that only run on Windows requires_gui: marks tests that require GUI access requires_ocr: marks tests that require OCR dependencies requires_face_recognition: marks tests that require face recognition dependencies e2e: marks end-to-end tests (LibreOffice GUI; run pytest -m e2e) libreoffice: marks tests that require LibreOffice soffice on the host requires_hardware: needs local Windows host (OpenCV/camera/desktop) — skipped in CI requires_network: needs LAN — skipped in CI ci_only: contract tests meant for CI — skipped on local unless CI=true destructive: real UI/input — skipped in CI # Logging log_cli = false log_cli_level = INFO log_cli_format = %(asctime)s [%(levelname)8s] %(name)s: %(message)s log_cli_date_format = %Y-%m-%d %H:%M:%S # Timeout (in seconds) for tests timeout = 300 # Minimum Python version minversion = 7.0 # Asyncio mode asyncio_mode = auto