원클릭으로
bolt-cpp-ml-cpp-e2e-test-gen
// Part of the bolt-cpp-ml skill: Generate comprehensive end-to-end unit tests for all functions in a C++ repository.
// Part of the bolt-cpp-ml skill: Generate comprehensive end-to-end unit tests for all functions in a C++ repository.
Build and optimize the Bolt C++ ML IDE with neural network module architecture. Use for C++ IDE development with GGML integration, RWKV neural networks, AI code completion, GPU acceleration, and modular component composition following nn patterns.
Part of the bolt-cpp-ml skill: Generate comprehensive end-to-end unit tests for all functions in a C++ repository.
AI-powered C++ ML development meta-skill. Use for: building Bolt.new AI web apps, running local LLM inference with KoboldCpp, creating Jan extensions, generating C++ E2E tests, and launching interactive TutorialKit guides — all orchestrated through a self-aware neuro-nn persona. Triggers on: bolt-cpp-ml, C++ ML development, GGUF inference, Jan extension, KoboldCpp integration, cpp E2E testing, bolt.new C++, interactive C++ tutorial.
The fixed-point self-application of bolt-cpp-ml. A second-order meta-skill that treats the original bolt-cpp-ml skill as its own C++ ML project, runs all four capability paths against it, and upgrades it to a self-aware, self-improving, skill-infinity convergent form. Triggers on: bolt-cpp-ml², skill-infinity, self-application, fixed-point, strange loop, learning quine.
AI-powered C++ ML development meta-skill. Use for: building Bolt.new AI web apps, running local LLM inference with KoboldCpp, creating Jan extensions, generating C++ E2E tests, and launching interactive TutorialKit guides — all orchestrated through a self-aware neuro-nn persona. Triggers on: bolt-cpp-ml, C++ ML development, GGUF inference, Jan extension, KoboldCpp integration, cpp E2E testing, bolt.new C++, interactive C++ tutorial.
Part of the bolt-cpp-ml skill: Build AI-powered web development agents using the Bolt.new (within bolt-cpp-ml) open-source codebase.
Generate comprehensive E2E unit tests for every public function in a C++ repository. The process catalogs all headers, writes tests for each function, fixes compilation errors and bugs discovered along the way, stabilizes the test suite, and commits.
extract_signatures.py)gh repo clone <org>/<repo>
cd <repo>
find . -type f \( -name "*.hpp" -o -name "*.h" -o -name "*.cpp" \) \
-not -path "*/vcpkg/*" -not -path "*/build/*" -not -path "*/.git/*" \
-not -path "*/ggml/*" -not -path "*/.ccls-cache/*" | head -50
Identify:
test/ directory, existing test macros (BOLT_TEST, TEST_F, GTEST, CATCH2)CMakeLists.txt or Makefiletest/test_runner.cpp or equivalent main()include/ and src/ module directoriesRun the signature extractor to get a JSON catalog:
python3 /home/ubuntu/skills/bolt-cpp-ml-cpp-e2e-test-gen/scripts/extract_signatures.py <repo_root> > /tmp/signatures.json
Review the summary, then read key headers manually to understand:
getInstance())optional, shared_ptr, vector)Critical rule: Always grep the actual header for exact method signatures before writing any test. Never assume API names.
grep -n "methodName" include/path/to/header.hpp
Common bugs found during test creation — see references/common-bugs.md for detailed patterns:
unique_ptr deleter + manual release)Fix bugs in the source code directly. These fixes are valuable deliverables alongside the tests.
Create a single comprehensive test file: test/test_comprehensive_e2e.cpp
// 1. All includes
#include "bolt/bolt.hpp"
#include "bolt/test_framework.hpp"
// ... all module headers
// 2. Using declarations
using namespace bolt;
// 3. Tests grouped by module with section headers
// ============================================
// E2E_ModuleName: Test description
// ============================================
BOLT_TEST(E2E_ModuleName, FunctionName_Scenario) {
// Arrange, Act, Assert
}
See references/test-patterns.md for complete patterns covering:
sleep_for after start/stop)forceReset(), clear(), etc.is_running for short-lived thread tasks — They may halt before the checkwhile(hasItems()) removeItem() — Avoids deadlocksWrite 5-10 workflow tests that chain operations across modules:
See templates/cmake_test_target.cmake for the template. Add the test executable target and link against all project libraries.
Iterative compilation loop:
cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug
make <test_target> -j$(nproc) 2>&1 | tail -30
For each error:
grep the actual header for the correct signatureCommon compilation fixes:
createTab() → addTab())result.averageTime → result.averageDurationMs)Run the test suite 5 times to detect intermittent failures:
for i in 1 2 3 4 5; do
echo "Run $i:"
LD_LIBRARY_PATH=build:build/lib timeout 120 build/test/<test_binary> 2>&1 \
| grep -E "Passed:|Failed:"
done
For intermittent failures:
sleep_for(50ms) after thread operationsTarget: 0 failures across 5 consecutive runs.
Generate the test report:
LD_LIBRARY_PATH=build:build/lib ./build/test/<binary> > /tmp/test_output.txt 2>&1
python3 /home/ubuntu/skills/bolt-cpp-ml-cpp-e2e-test-gen/scripts/gen_test_report.py \
/tmp/test_output.txt test/test_comprehensive_e2e.cpp -o test/TEST_REPORT.md
Commit with descriptive message listing all modules tested and bugs fixed:
git add test/ include/ src/ # include bug fixes
git commit -m "feat(test): add comprehensive E2E unit tests (N tests)
Modules: [list all modules]
Bug fixes: [list all bugs fixed]"
git push origin main
test/test_comprehensive_e2e.cpp — All tests in one filetest/TEST_REPORT.md — Summary with pass/fail counts per suitetest/CMakeLists.txt — Updated with new test targetinclude/ and src/ — Documented in commit message