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.
cbmc/codedetect/pytest.ini

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.*