65 lines
1.6 KiB
INI
65 lines
1.6 KiB
INI
# pytest configuration for Calibre-Web Automated
|
|
|
|
[pytest]
|
|
# Test discovery
|
|
testpaths = tests
|
|
python_files = test_*.py
|
|
python_classes = Test*
|
|
python_functions = test_*
|
|
|
|
# Output options
|
|
addopts =
|
|
-v
|
|
--tb=short
|
|
--strict-markers
|
|
--disable-warnings
|
|
-p no:cacheprovider
|
|
--durations=10
|
|
|
|
# Markers for test categorization
|
|
markers =
|
|
smoke: Quick smoke tests that verify basic functionality (<30s total)
|
|
unit: Fast isolated unit tests (no Docker, <2 min total)
|
|
integration: Tests that involve multiple components (requires Docker)
|
|
docker_integration: Integration tests using Docker container (slow, 5-10 min)
|
|
docker_e2e: End-to-end tests requiring full Docker environment (very slow, 20-30 min)
|
|
e2e: End-to-end tests requiring full environment
|
|
docker: Tests that require Docker container
|
|
slow: Tests that take >30 seconds individually
|
|
network: Tests requiring network access
|
|
calibre: Tests requiring Calibre CLI tools
|
|
requires_calibre: Tests requiring Calibre tools
|
|
timeout: Test timeout in seconds
|
|
|
|
# Test execution settings
|
|
# Disable xdist for Docker tests (container conflicts)
|
|
norecursedirs = .git .tox dist build *.egg __pycache__
|
|
|
|
# Coverage options
|
|
[coverage:run]
|
|
source =
|
|
cps
|
|
scripts
|
|
omit =
|
|
*/tests/*
|
|
*/test_*
|
|
*/__pycache__/*
|
|
*/site-packages/*
|
|
cps/static/*
|
|
cps/translations/*
|
|
|
|
[coverage:report]
|
|
precision = 2
|
|
show_missing = True
|
|
skip_covered = False
|
|
|
|
# Directories to exclude
|
|
exclude_lines =
|
|
pragma: no cover
|
|
def __repr__
|
|
raise AssertionError
|
|
raise NotImplementedError
|
|
if __name__ == .__main__.:
|
|
if TYPE_CHECKING:
|
|
@abstractmethod
|