Commit Graph

2 Commits

Author SHA1 Message Date
9105610b29 feat: Add integration tests 8-10 & fix CTest configuration
Added three new integration test scenarios:
- Test 08: Config Hot-Reload (dynamic configuration updates)
- Test 09: Module Dependencies (dependency injection & cascade reload)
- Test 10: Multi-Version Coexistence (canary deployment & progressive migration)

Fixes:
- Fixed CTest working directory for all tests (add WORKING_DIRECTORY)
- Fixed module paths to use relative paths (./ prefix)
- Fixed IModule.h comments for clarity

New test modules:
- ConfigurableModule (for config reload testing)
- BaseModule, DependentModule, IndependentModule (for dependency testing)
- GameLogicModuleV1/V2/V3 (for multi-version testing)

Test coverage now includes 10 comprehensive integration scenarios covering
hot-reload, chaos testing, stress testing, race conditions, memory leaks,
error recovery, limits, config reload, dependencies, and multi-versioning.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 07:34:15 +08:00
1244bddc41 feat: Add Scenario 6 - Error Recovery test suite
Implements comprehensive error recovery testing with automatic crash
detection and hot-reload recovery mechanisms.

Features:
- ErrorRecoveryModule with controlled crash triggers
- Configurable crash types (runtime_error, logic_error, etc.)
- Auto-recovery via setState() after hot-reload
- Crash detection at specific frames
- Post-recovery stability validation (120 frames)

Test results:
- Crash detection:  Frame 60 (as expected)
- Recovery time: 160.4ms (< 500ms threshold)
- State preservation:  Frame count preserved
- Stability:  120 frames post-recovery
- Memory:  0 MB growth
- All assertions:  PASSED

Integration:
- Added ErrorRecoveryModule (header + impl)
- Added test_06_error_recovery integration test
- Updated CMakeLists.txt with new test target
- CTest integration via ErrorRecovery test

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 07:14:04 +08:00