Testlab

config-weave test — runs package tests in disposable vmlab containers or VMs.

The testlab (config-weave test, src/testlab/) proves package convergence in disposable instances. Packages declare test blocks in package.wcl; each test runs in a fresh instance and is proven with the three-run protocol.

Every instance is a vmlab machine — vmlab is the only backend. A test declares exactly one of two fields, and that choice is the whole selection: image = "debian:12" gives a container (the OCI image booted in a micro-VM: linux, ready in seconds), and template = "x86_64/ubuntu-24.04" gives a VM (linux or windows, a real init system, and the only kind that can reboot).

The test block's fields are in Test block reference. Several tests can share one instance via grouping; convergence the protocol can't express uses scenarios.

§ 1Repo test suites

just ci::test (fast cargo suite, host-independent; part of the just ci::check merge bar) · just test-lab (cross-builds the static musl binary, runs the vmlab-gated suite in containers) · just test-lab-vm playbook template (end-to-end smoke in full VMs) · just test-ad (the full Windows DC lifecycle scenario over real reboots — heavy).