24 lines
1.1 KiB
Go
24 lines
1.1 KiB
Go
//go:build smoke
|
|
|
|
// Package smoketest is the end-to-end smoke gate for banger's supported
|
|
// two-service systemd model. It runs only when the build is tagged
|
|
// `smoke`, which keeps it out of `go test ./...` on contributor
|
|
// machines and CI.
|
|
//
|
|
// The suite touches global host state: it installs instrumented
|
|
// bangerd.service + bangerd-root.service, drives real Firecracker/KVM
|
|
// scenarios, copies covdata back out, then purges the smoke-owned
|
|
// install on exit. It refuses to run if a non-smoke install is already
|
|
// on the host (see the marker file under /etc/banger).
|
|
//
|
|
// The harness expects three env vars, normally set by `make smoke`:
|
|
//
|
|
// BANGER_SMOKE_BIN_DIR — instrumented banger / bangerd / vsock-agent
|
|
// BANGER_SMOKE_COVER_DIR — coverage output directory (GOCOVERDIR)
|
|
// BANGER_SMOKE_XDG_DIR — scratch root for fake homes, fake repos, etc.
|
|
//
|
|
// Coverage: the test binary itself is not instrumented, but every
|
|
// banger / bangerd subprocess it spawns is, and writes covdata into
|
|
// BANGER_SMOKE_COVER_DIR. Service-side covdata under /var/lib/banger
|
|
// is copied out at teardown.
|
|
package smoketest
|