You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.1 KiB
109 lines
3.1 KiB
[tool:pytest]
|
|
# Test discovery
|
|
testpaths = tests
|
|
python_files = test_*.py *_test.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# Test output
|
|
addopts =
|
|
--verbose
|
|
--tb=short
|
|
--strict-markers
|
|
--disable-warnings
|
|
--cov=src
|
|
--cov-report=html
|
|
--cov-report=term-missing
|
|
--cov-fail-under=80
|
|
--asyncio-mode=auto
|
|
|
|
# Coverage configuration
|
|
[coverage:run]
|
|
source = src
|
|
omit =
|
|
*/tests/*
|
|
*/venv/*
|
|
*/env/*
|
|
setup.py
|
|
|
|
[coverage:report]
|
|
exclude_lines =
|
|
pragma: no cover
|
|
def __repr__
|
|
if self.debug:
|
|
if settings.DEBUG
|
|
raise AssertionError
|
|
raise NotImplementedError
|
|
if 0:
|
|
if __name__ == .__main__.:
|
|
class .*\bProtocol\):
|
|
@(abc\.)?abstractmethod
|
|
|
|
# Test markers configuration
|
|
markers =
|
|
# Test scope and type
|
|
unit: Tests that verify individual components in isolation
|
|
integration: Tests that verify integration between components
|
|
system: Tests that verify the entire system end-to-end
|
|
regression: Tests that ensure system behavior doesn't regress
|
|
|
|
# Performance and benchmarking
|
|
performance: Tests that measure performance metrics
|
|
benchmark: Tests that benchmark performance characteristics
|
|
slow: Tests that take a long time to run
|
|
fast: Tests that should run quickly
|
|
smoke: Basic sanity tests that should always pass
|
|
|
|
# Module-specific tests
|
|
verify: Tests specifically for verification modules
|
|
mutate: Tests specifically for mutation modules
|
|
parse: Tests specifically for parsing modules
|
|
spec: Tests specifically for specification generation
|
|
ui: Tests specifically for UI and API components
|
|
|
|
# Verification types
|
|
memory_safety: Tests focused on memory safety verification
|
|
overflow_detection: Tests focused on overflow detection
|
|
concurrency: Tests focused on concurrency verification
|
|
bounds: Tests focused on bounds checking
|
|
pointer: Tests focused on pointer safety
|
|
|
|
# External dependencies
|
|
cbmc: Tests requiring CBMC installation
|
|
llm: Tests requiring LLM API access
|
|
freertos: Tests requiring FreeRTOS to be available
|
|
external: Tests that require external services or tools
|
|
network: Tests that require network connectivity
|
|
fileio: Tests that perform file I/O operations
|
|
|
|
# Test environments
|
|
local: Tests that can run locally without special setup
|
|
ci: Tests that should run in CI environment
|
|
requires_cbmc: Tests that require CBMC to be installed
|
|
requires_freertos: Tests that require FreeRTOS to be available
|
|
|
|
# Test features
|
|
api: Tests that verify API endpoints
|
|
workflow: Tests that verify workflow functionality
|
|
cli: Tests that verify command-line interface
|
|
validation: Validation tests
|
|
parser: Parser tests
|
|
|
|
# Test reliability
|
|
flaky: Tests that are known to be unreliable
|
|
experimental: Tests that are still experimental
|
|
deprecated: Tests for deprecated functionality
|
|
|
|
# Minimum Python version
|
|
minversion = 6.0
|
|
|
|
# Async configuration
|
|
asyncio_mode = auto
|
|
|
|
# Filter warnings
|
|
filterwarnings =
|
|
ignore::DeprecationWarning
|
|
ignore::PendingDeprecationWarning
|
|
ignore::UserWarning:pytest.*
|
|
ignore::UserWarning:pydantic.*
|
|
ignore::UserWarning:urllib3.* |