Skip to content

feat: implement Phase 8 — headless tests, CI, and docs update - #41

Merged
netkeep80 merged 3 commits into
netkeep80:mainfrom
konard:issue-7-1b7d6ee13aa6
Mar 1, 2026
Merged

feat: implement Phase 8 — headless tests, CI, and docs update#41
netkeep80 merged 3 commits into
netkeep80:mainfrom
konard:issue-7-1b7d6ee13aa6

Conversation

@konard

@konard konard commented Mar 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements Phase 8 of the PMM visual demo development plan (tests, CI, documentation).

Fixes #7

What was done

New test files (Phase 8.1):

  • tests/test_demo_headless.cpp — Smoke-test running all 7 scenarios for 2 s without a graphical window; verifies validate() == true and thread cleanup within 5 s
  • tests/test_mem_map_view.cpp — Unit tests for MemMapView::update_snapshot(): null-safety, post-alloc/free snapshot rebuild, highlighted_block stability
  • tests/test_scenario_manager.cpp — Lifecycle tests for ScenarioManager: count == 7, stop_all deadline, start/stop idempotency, destructor cleanup

Build system refactor (demo/CMakeLists.txt):

  • Extracted pmm_demo_lib static library from demo sources (all files except main.cpp)
  • pmm_demo executable links against pmm_demo_lib
  • The three new headless test executables also link against pmm_demo_lib
  • All three tests are registered with add_test() — run via ctest when PMM_BUILD_DEMO=ON

Documentation:

  • docs/phase-8-tests.md — Phase 8 completion report
  • plan.md — Marked all Phase 2–8 checklist items as ✅
  • README.md — Added headless tests section with ctest usage instructions and updated repository structure

How to test

# Build with demo and run all tests
cmake -B build -DCMAKE_BUILD_TYPE=Debug -DPMM_BUILD_DEMO=ON
cmake --build build
ctest --test-dir build --output-on-failure

# Run only the new Phase 8 headless tests
ctest --test-dir build -R "test_demo_headless|test_mem_map_view|test_scenario_manager" --output-on-failure

Checklist

  • clang-format passes on all new files
  • cppcheck passes on all new files
  • All new files ≤ 1500 lines
  • plan.md updated — all phases marked complete
  • README.md updated
  • docs/phase-8-tests.md created

🤖 Generated with Claude Code

konard and others added 2 commits March 1, 2026 10:27
Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: netkeep80#7
- Add tests/test_demo_headless.cpp: smoke-test running all 7 scenarios
  for 2 s, verifying validate() and thread cleanup within 5 s
- Add tests/test_mem_map_view.cpp: unit tests for MemMapView::update_snapshot()
  covering null-safety, post-alloc snapshot, and highlighted_block stability
- Add tests/test_scenario_manager.cpp: lifecycle tests for ScenarioManager
  (count, stop_all deadline, start/stop idempotency, destructor cleanup)
- Refactor demo/CMakeLists.txt: extract pmm_demo_lib static library shared
  by pmm_demo and the three new headless test executables; tests registered
  with CTest under PMM_BUILD_DEMO=ON
- Mark all Phases 2–8 checklist items as complete in plan.md
- Add docs/phase-8-tests.md: Phase 8 completion report
- Update README.md: document headless demo tests and new test files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@konard konard changed the title [WIP] Реализовать следующую задачу в текущей фазе плана и после обновить plan.md , README.md и отдельный файл фазы разработки feat: implement Phase 8 — headless tests, CI, and docs update Mar 1, 2026
@konard
konard marked this pull request as ready for review March 1, 2026 10:35
@konard

konard commented Mar 1, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Solution Draft Log

This log file contains the complete execution trace of the AI solution draft process.

💰 Cost estimation:

  • Public pricing estimate: $2.980889
  • Calculated by Anthropic: $2.576495 USD
  • Difference: $-0.404394 (-13.57%)
    📎 Log file uploaded as Gist (2498KB)
    🔗 View complete solution draft log

Now working session is ended, feel free to review and add any feedback on the solution draft.

@konard

konard commented Mar 1, 2026

Copy link
Copy Markdown
Contributor Author

✅ Ready to merge

This pull request is now ready to be merged:

  • All CI checks have passed
  • No merge conflicts
  • No pending changes

Monitored by hive-mind with --auto-restart-until-mergeable flag

@netkeep80
netkeep80 merged commit 22d175f into netkeep80:main Mar 1, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants