Testing
Two distinct worlds, split accordingly:
Automated — the pvtest suite
One suite, driven by test.docker.sh, running against an appengine container, a pool of
them, or a real device.
- The pvtest Harness — architecture, execution models, execution flow, how to build and install it, and where a run's output lands
- Running and Authoring pvtests — running against the appengine pool, adding and updating tests and containers, the authoring rules (including the cross-target ones), and how CI drives it
- Running Against a Real Device — the device manifest, the re-type hook, substituting container tarballs for another architecture or signing CA, and which non-PASS results are expected
- pvtest List — every test by scope and category, with status
Manual — hand-driven testing
Building and loading the appengine image, plus the per-feature test plans (auto-recovery, cgroups, container control, IPAM, pvctrl, pvtx, xconnect).
Driving the appengine container itself — starting it, entering namespaces, log locations,
pvcurl/pvcontrol recipes — is documented in the pantavisor repo at
docs/overview/appengine.md, alongside the pv-appengine code.
Keeping the test list updated
When a pvtest is added, modified, or removed, update
automated/pvtest-list.md and TODO.md. Mark completed tests ✓.