-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpytest.ini
More file actions
71 lines (62 loc) · 1.96 KB
/
pytest.ini
File metadata and controls
71 lines (62 loc) · 1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# pytest configuration for HermesLLM
[tool.pytest.ini_options]
# Test discovery patterns
python_files = ["test_*.py", "*_test.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
# Test paths
testpaths = ["tests"]
# Markers for organizing tests
markers = [
"unit: Unit tests for individual functions/classes",
"integration: Integration tests for multiple components",
"e2e: End-to-end tests for complete workflows",
"slow: Tests that take a long time to run",
"requires_api: Tests that require external API access",
"requires_db: Tests that require database connection",
"requires_aws: Tests that require AWS credentials",
]
# Output options
addopts = [
"-ra", # Show summary of all test results
"--strict-markers", # Raise error on unknown markers
"--strict-config", # Raise error on configuration issues
"--showlocals", # Show local variables in tracebacks
"-v", # Verbose output
"--tb=short", # Shorter traceback format
"--cov=hermes", # Coverage for hermes package
"--cov-report=term-missing", # Show missing lines in coverage
"--cov-report=html", # Generate HTML coverage report
"--cov-report=xml", # Generate XML coverage for CI
]
# Asyncio configuration
asyncio_mode = "auto"
# Logging
log_cli = true
log_cli_level = "INFO"
log_cli_format = "%(asctime)s [%(levelname)8s] %(message)s"
log_cli_date_format = "%Y-%m-%d %H:%M:%S"
# Warnings
filterwarnings = [
"ignore::DeprecationWarning",
"ignore::PendingDeprecationWarning",
]
# Coverage options
[tool.coverage.run]
source = ["hermes"]
omit = [
"*/tests/*",
"*/examples/*",
"*/__init__.py",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if TYPE_CHECKING:",
"raise AssertionError",
"raise NotImplementedError",
"if __name__ == .__main__.:",
"@abstractmethod",
"@abc.abstractmethod",
]