testing-procedures
Testing procedures for Kalahari project. Use for running tests and analyzing results.
When & Why to Use This Skill
This Claude skill provides a comprehensive framework for managing testing procedures within the Kalahari project. It streamlines the software quality assurance process by automating build commands, test execution, and result analysis across Windows and Linux platforms. By integrating Catch2 BDD-style testing and structured reporting, it helps developers maintain high code quality and prevent regressions throughout the development lifecycle.
Use Cases
- Automated Test Execution: Running Catch2-based BDD tests on multiple operating systems to validate project builds and core logic.
- Regression Testing: Utilizing the post-implementation checklist to ensure that new feature updates do not negatively impact existing functionality.
- Structured Result Reporting: Generating standardized JSON-formatted test reports to provide clear, actionable feedback on test passes and failures.
- Manual Quality Assurance: Following guided procedures for UI verification, user interaction flows, and responsiveness checks that cannot be fully automated.
- Troubleshooting & Debugging: Identifying and resolving common build failures, dependency issues, and flaky tests using the built-in troubleshooting guide.
| name | testing-procedures |
|---|---|
| description | Testing procedures for Kalahari project. Use for running tests and analyzing results. |
Testing Procedures
1. Build Commands
Windows
scripts/build_windows.bat Debug
Linux
scripts/build_linux.sh
NEVER
- Run cmake directly
- Use WSL for Windows builds
2. Test Execution
Windows
./build-windows/bin/kalahari-tests.exe
Linux
./build-linux/bin/kalahari-tests
3. Test Framework
- Framework: Catch2 v3
- Style: BDD (Behavior-Driven Development)
- Location:
tests/
4. Result Interpretation
Output format
[PASS] TestName
[FAIL] TestName - expected X, got Y
Summary
===============================================
All tests passed (42 assertions in 15 test cases)
or
===============================================
test cases: 15 | 14 passed | 1 failed
assertions: 42 | 40 passed | 2 failed
5. What to Check
After implementation
- All existing tests still pass?
- No regressions (previously passing tests)?
- New tests added for new functionality?
Test coverage
- Core business logic tested?
- Edge cases covered?
- Error handling tested?
6. Manual Testing
When needed
- UI changes (visual verification)
- User interaction flows
- Theme switching
- Panel resizing/docking
Steps
- Run application:
./build-windows/bin/kalahari.exe - Test the specific feature
- Verify visual appearance
- Check responsiveness
7. Reporting Results
Pass
{
"decision": "pass",
"tests": "42/42 passed",
"summary": "All tests pass"
}
Fail
{
"decision": "fail",
"tests": "40/42 passed",
"failures": [
"TestSettings::save - expected true, got false",
"TestDocument::load - file not found"
],
"summary": "2 tests failed"
}
8. Common Issues
Build fails
- Check CMake output for errors
- Verify vcpkg dependencies
- Check for missing includes
Tests fail
- Read failure message carefully
- Check if test assumptions still valid
- Verify test data/fixtures
Flaky tests
- Check for timing dependencies
- Look for shared state between tests
- Verify test isolation