-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpytest.ini
More file actions
134 lines (113 loc) · 3.77 KB
/
pytest.ini
File metadata and controls
134 lines (113 loc) · 3.77 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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# =============================================================================
# GENERALIZED NOTATION NOTATION (GNN) - Pytest Configuration
# =============================================================================
# Comprehensive pytest configuration for the GNN pipeline testing framework
# Last Updated: 2026-01-21
# Pytest Version: >= 7.0.0
# =============================================================================
[pytest]
# =============================================================================
# TEST DISCOVERY AND COLLECTION
# =============================================================================
# Primary test directories
testpaths =
src/tests
tests
# Test file patterns
python_files =
test_*.py
*_test.py
# Test class and function patterns
python_classes =
Test*
*Tests
*TestCase
python_functions =
test_*
# Directories to ignore during collection
norecursedirs =
.venv
venv
__pycache__
.pytest_cache
node_modules
.git
build
dist
output
cache
temp
tmp
# =============================================================================
# TEST EXECUTION SETTINGS
# =============================================================================
# Core pytest options for consistent behavior
addopts =
--strict-markers
--strict-config
--tb=short
--durations=10
--durations-min=1.0
--maxfail=10
-p no:randomly
-p no:sugar
-p no:stepwise
# Minimum pytest version requirement
minversion = 7.0
# =============================================================================
# TEST TIMEOUTS AND PERFORMANCE
# =============================================================================
# Global timeout settings
timeout = 300
timeout_method = thread
# Asyncio configuration for async tests
asyncio_mode = auto
asyncio_default_fixture_loop_scope = function
# =============================================================================
# TEST MARKERS
# =============================================================================
markers =
fast: Fast tests that complete in under 1 second
slow: Slow tests that may take significant time
unit: Unit tests for individual functions
integration: Integration tests across modules
pipeline: Pipeline infrastructure tests
uv: UV package manager tests
jax_stack: JAX + Optax + Flax + pymdp stack validation (core package integrity)
xfail: Tests expected to fail in certain environments (e.g. missing ollama)
mcp: MCP audit tests that require module discovery
# =============================================================================
# LOGGING 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
log_file = output/2_tests_output/pytest.log
log_file_level = DEBUG
log_file_format = %(asctime)s [%(levelname)8s] %(name)s: %(message)s
log_file_date_format = %Y-%m-%d %H:%M:%S
# =============================================================================
# WARNING FILTERS
# =============================================================================
filterwarnings =
ignore::DeprecationWarning
ignore::PendingDeprecationWarning
ignore::UserWarning
ignore::FutureWarning
# =============================================================================
# USAGE EXAMPLES
# =============================================================================
#
# Run all tests:
# pytest
#
# Run only fast tests:
# pytest -m fast
#
# Run with coverage:
# pytest --cov=src --cov-report=html
#
# Debug failing tests:
# pytest -xvs --pdb
# =============================================================================