47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
# Step 4: cmake-analysis-tests
|
|
|
|
## Read First
|
|
|
|
Read these files before editing:
|
|
|
|
- `/AGENTS.md`
|
|
- `/docs/PLAN.md`
|
|
- `/docs/PROGRESS.md`
|
|
- `/docs/WORKNOTE.md`
|
|
- `/docs/AGENT_RULES.md`
|
|
- `/docs/implementation-plans/analysis-state-analysis-base-implementation-plan.md`
|
|
- `/CMakeLists.txt`
|
|
- `/tests/core/analysis_state_test.cpp`
|
|
- `/tests/analysis/analysis_base_test.cpp`
|
|
|
|
## Task
|
|
|
|
Make the analysis tests part of the normal MSVC CMake/CTest path.
|
|
|
|
Required contract:
|
|
|
|
- `fesa_core` includes `src/core/AnalysisState.cpp`.
|
|
- `fesa_analysis_tests` builds both analysis-state and analysis-base tests.
|
|
- CTest registers `analysis.base` or equivalent with labels `analysis;core`.
|
|
- Existing `domain`, `model-object`, and `io` tests remain registered and unchanged except for required shared library source additions.
|
|
|
|
## Tests To Write First
|
|
|
|
No new behavior tests are required in this step if steps 1 through 3 already wrote them. If CMake registration is missing, the RED condition is that `ctest -R analysis` finds no registered analysis test or build fails because sources are missing.
|
|
|
|
## Acceptance Criteria
|
|
|
|
Run:
|
|
|
|
```powershell
|
|
ctest --test-dir build/msvc-debug --output-on-failure -C Debug -R "analysis|domain|model-object|io"
|
|
python scripts/validate_workspace.py
|
|
```
|
|
|
|
Update `/phases/analysis-state-analysis-base/index.json` step 4 with `completed`, `error`, or `blocked`.
|
|
|
|
## Do Not
|
|
|
|
- Do not modify unrelated tests.
|
|
- Do not change dependency discovery or introduce MKL, TBB, or HDF5 linkage for this phase.
|