diff options
Diffstat (limited to 'integrationtests/README.md')
| -rw-r--r-- | integrationtests/README.md | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/integrationtests/README.md b/integrationtests/README.md index be65499..0036019 100644 --- a/integrationtests/README.md +++ b/integrationtests/README.md @@ -8,33 +8,54 @@ harness asserts the captured `.ior.zst` output matches expectations. - Built `ior` binary (`mage all`) - Root privileges or `CAP_BPF` (required for BPF tracepoint attachment) +- Local `libbpfgo` checkout pinned to `v0.9.2-libbpf-1.5.1` and rebuilt with + `git -C ../libbpfgo submodule update --init --recursive && make -C ../libbpfgo libbpfgo-static` The binary embeds its default BPF object. Set `IOR_BPF_OBJECT=/path/to/ior.bpf.o` only when you explicitly want to override the embedded object during testing. +The harness runs `ior` in the legacy compatibility mode that writes aggregated +`.ior.zst` output via `-flamegraph -name <scenario>`; this is kept specifically +for integration coverage and rollback validation. ## Running ```bash -mage integrationTest +env GOTOOLCHAIN=auto mage integrationTest ``` This builds everything (ior, ioworkload) and runs integration tests in parallel. Default parallelism is `NumCPU * 2` (minimum `1`). +Validated upgrade checks: + +```bash +env GOTOOLCHAIN=auto mage world +env GOTOOLCHAIN=auto mage integrationTest +``` + Tests automatically skip with `t.Skip` when not running as root. To run serially (useful for debugging/flaky triage): ```bash -mage integrationTestSerial +env GOTOOLCHAIN=auto INTEGRATION_PARALLEL=1 mage integrationTest ``` Tune parallelism by setting `INTEGRATION_PARALLEL`, for example: ```bash -INTEGRATION_PARALLEL=4 mage integrationTest +env GOTOOLCHAIN=auto INTEGRATION_PARALLEL=4 mage integrationTest ``` +If the suite fails before tracing starts, check for these common causes: + +- The local `libbpfgo` checkout is not pinned to `v0.9.2-libbpf-1.5.1` or was + rebuilt without `git submodule update --init --recursive`. +- `ior` was not rebuilt after pulling the compatibility fix for `-flamegraph` + / `-name`. +- The run is missing root privileges, in which case the suite will skip or fail + before BPF attach. + ## Structure - `cmd/ioworkload/` — Standalone binary performing known I/O patterns |
