# Step 2: Install-tree Smoke Test ## 읽어야 할 파일 - `/AGENTS.md` - `/docs/PRD.md` - `/docs/ARCHITECTURE.md` - `/docs/ADR.md` - `/docs/BUILDING.md` - `/docs/RELEASE_CHECKLIST.md` - `/cmake/FESAConfig.cmake.in` - `/cmake/install.cmake` ## 작업 source/build tree를 참조하지 않는 clean install consumer와 CLI smoke test를 만든다. - `tests/install/consumer/CMakeLists.txt`, `tests/install/consumer/main.cpp`, `tests/install/install_tree_smoke.cmake`를 만든다. - installed `FESAConfig.cmake`로 작은 consumer를 configure/link한다. - installed CLI의 `--version`, example solve, 생성 HDF5 public inspection을 실행한다. - source include path나 build library path를 숨긴 상태에서 먼저 실패를 확인한다. ## Acceptance Criteria ```powershell cmake --preset windows-release cmake --build --preset windows-release ctest --preset windows-release -R InstallTreeSmoke --output-on-failure ctest --preset windows-release --output-on-failure ``` ## 검증 절차 1. 설치 전 smoke test 실패를 확인한다. 2. install tree만 사용하도록 test working directory와 environment를 격리한다. 3. consumer link, CLI solve, HDF5 open을 모두 확인한다. 4. 전체 Release test와 index를 갱신한다. ## 금지사항 - source directory include를 fallback으로 넣지 마라. 이유: packaging 결함을 숨긴다. - PATH의 개발용 `fesa.exe`를 실행하지 마라. 이유: installed binary 검증이 아니다. - external dependency installer를 만들지 마라. 이유: inventory만 제공한다.