You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- The agent attempts to generate pipeline scripts using the MCP tools
96
-
- Successful cases are stored in `.pipelines/scripts/`
97
-
- Input data for processing is found in `.pipelines/data/`
98
-
- Schema definitions and documentation resources are available in `.resources/`
45
+
### Error Handling
99
46
100
-
This directory contains comprehensive tests for the Parse Patrol chemistry parsing package, including integration tests that download real computational chemistry files from NOMAD and test parsing functionality.
47
+
- Skip if software files not found in NOMAD
48
+
- Network timeout handling
49
+
- Comprehensive cleanup on failures
101
50
102
-
##Supported Quantum Chemistry Software
51
+
### Continuous Integration
103
52
104
-
The integration tests cover files from:
53
+
GitHub Actions automatically runs all tests on pushes to a pull request:
105
54
106
-
-**Gaussian** (`.log`, `.out`, `.fchk` files)
107
-
-**ORCA** (`.out`, `.inp` files)
108
-
-**VASP** (`OUTCAR`, `POSCAR`, `CONTCAR` files)
109
-
-**Q-Chem** (`.out`, `.in` files)
110
-
-**NWChem** (`.out`, `.nw` files)
111
-
-**Psi4** (`.out` files)
55
+
- Tests run on Python 3.12
56
+
<!-- - **Code Quality**: Linting with `ruff` and optional type checking with `mypy` -->
57
+
- Test coverage is tracked and reported via Codecov
112
58
113
-
## Running Tests
59
+
## Manually Running Tests
114
60
115
61
### Quick Setup
116
62
@@ -127,43 +73,6 @@ uv run pytest -m "not slow"
127
73
uv run pytest tests/test_nomad_integration.py -vv -s --tb=long --log-cli-level=INFO
128
74
```
129
75
130
-
Or use the test interfaces:
131
-
132
-
```bash
133
-
# Test specific software
134
-
uv run python tests/run_nomad_tests.py --software Gaussian
135
-
```
136
-
137
-
### Pytest Markers
138
-
139
-
-`unit`: Fast unit tests
140
-
-`integration`: Tests requiring network access
141
-
-`slow`: Tests that download large files (1-5 minutes)
142
-
143
-
## Integration Test Workflow
144
-
145
-
### For Each Supported Software
146
-
147
-
1.**Search NOMAD** for computational files from specific QM software
148
-
2.**Download** raw files to temporary directory
149
-
3.**Parse** files with compatible parsers
150
-
4.**Validate** parsed data structure and content
151
-
5.**Cleanup** all downloaded files automatically
152
-
153
-
### File Management
154
-
155
-
- Downloads to `.data/[entry_id]/` directory
156
-
- Automatic cleanup after each test
157
-
- Temporary directories for test isolation
158
-
- No permanent files left behind
159
-
160
-
### Error Handling
161
-
162
-
- Skip if software files not found in NOMAD
163
-
- Parser-specific error handling
164
-
- Network timeout handling
165
-
- Comprehensive cleanup on failures
166
-
167
76
## Troubleshooting
168
77
169
78
**"NOMAD dependencies not available":**
@@ -180,10 +89,11 @@ uv sync --parsers
180
89
181
90
**"No [Software] files found in NOMAD"**
182
91
183
-
- Expected behavior
184
-
- NOMAD content varies
185
-
- Tests skip gracefully
186
-
- Try different formulas or wait for database updates
92
+
All queries and downloads have been verified.
93
+
While the contents of NOMAD-lab is dynamic, the number of hits should only grow.
94
+
This implies that tests with an expected empty return value could auto-deprecate after time.
95
+
96
+
Regardless, visit [the NOMAD-lab website](https://nomad-lab.eu/nomad-lab/) directly and try the same query there.
187
97
188
98
**Network timeouts:**
189
99
@@ -222,24 +132,3 @@ When adding new tests:
222
132
3.**Clean up resources**: Use context managers or proper teardown
223
133
4.**Test realistic scenarios**: Use real data when possible
224
134
5.**Document expected behavior**: Include docstrings explaining test purpose
225
-
226
-
### Adding New Software Support
227
-
228
-
1. Add configuration to `QM_SOFTWARE_CONFIGS` in `test_nomad_integration.py`
229
-
2. Specify expected file extensions and compatible parsers
230
-
3. Test with `uv run python tests/run_nomad_tests.py --software [NewSoftware]`
0 commit comments