Table of Contents
Testing (llmcpp)
Testing checks the compiler pipeline with predictable inputs and outcomes. In the generation integration test, the produced program is run and compared with a fixture's expected output:
llmcpp::test::TestCommandResult run = work.run("./from-llm-cpp"); REQUIRE(run.m_status == 0); CHECK(run.m_out == llmcpp::test::read_file(work.path() / "expected/00_all_forms.expected"));
The earlier part of this test uses a mock agent to generate source and compiles it. This assertion goes further than compiler acceptance by checking execution status and output.
Unit tests cover individual components; integration tests exercise rewriting, caching, protocols, and limits. Run the suite through ./do_tests.sh, which invokes CTest under build/out.
Passing these fixtures establishes the tested behavior of the toolchain, not the correctness of every future model-generated function. Each accepted implementation still needs checks against its own contract.
Source: test_integration_generation.cpp.
