Docker end-to-end tests
The tests that need Docker run only with FERRY_E2E=1. Without it, they print skipped and pass.
Each test that needs Docker first reads the variable FERRY_E2E.
A test of this type is a gated test.
Run all the suites
cargo build -p ferryd # the CLI suite drives a real ferryd binary
FERRY_E2E=1 cargo test --workspaceUse a Docker daemon that you can share
The tests create containers, volumes, networks and images. They pull small public images and bind free local ports.
They never touch the resources of a Ferry server, because each test uses its own name prefix. But run them where this load is acceptable.
Run one suite
Give the crate and the name of the test.
FERRY_E2E=1 cargo test -p ferry-engine --test e2e
FERRY_E2E=1 cargo test -p ferry-build --test build_e2eThe suites lists each name.
The CLI suite looks for ferryd in the variable FERRY_E2E_FERRYD. Without the variable, it looks next to the test binary. For a debug test run, this is target/debug/ferryd.
Thus you run cargo build -p ferryd first.