[tool:pytest] # Pytest configuration for Crawailer comprehensive test suite # Test discovery testpaths = tests python_files = test_*.py python_classes = Test* python_functions = test_* # Output and reporting addopts = --strict-markers --strict-config --verbose --tb=short --showlocals --durations=10 --color=yes # Async support asyncio_mode = auto # Filtering and markers markers = slow: marks tests as slow (deselect with '-m "not slow"') integration: marks tests as integration tests security: marks tests as security/penetration tests performance: marks tests as performance/stress tests edge_case: marks tests as edge case tests regression: marks tests as regression tests critical: marks tests as critical for release unit: marks tests as unit tests smoke: marks tests as smoke tests for quick validation # Minimum version requirements minversion = 6.0 # Test session configuration console_output_style = progress junit_suite_name = crawailer_js_api_tests # Timeout configuration (requires pytest-timeout) # timeout = 300 # timeout_method = thread # Coverage configuration (if pytest-cov is installed) # addopts = --cov=src/crawailer --cov-report=html --cov-report=term-missing # Log configuration log_cli = true 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 # Warnings configuration filterwarnings = error ignore::UserWarning ignore::DeprecationWarning:pytest.* ignore::PendingDeprecationWarning # xfail configuration xfail_strict = true # Parallel execution (requires pytest-xdist) # addopts = -n auto # HTML report configuration (requires pytest-html) # --html=reports/report.html --self-contained-html