ContributingTesting
The end-to-end suites
Six suites test Ferry against a real Docker daemon, from the Docker wrapper to the full server.
ferry-docker. The Docker wrapper against the daemon.
1 / 6
What each suite covers
| Suite | Covers |
|---|---|
ferry-docker · docker_e2e | The Docker wrapper against the daemon: container lifecycle and logs, exit codes, images, tags, volumes and exec. Resource limits set at creation (with the pids limit and log rotation) and changed in place. OOM kills told apart from a plain SIGKILL. |
ferry-build · build_e2e and the regression suites | Real builds of the example apps |
ferry-proxy · e2e_docker | Containers published on 127.0.0.1:<random port> behind the proxy |
ferry-tls · pebble_e2e | Certificates from Pebble, the test ACME server of Let's Encrypt (image ghcr.io/letsencrypt/pebble:latest) |
ferry-engine · e2e | The whole stack in one process: store, Docker, builder, engine and proxy. It deploys the examples. It also tests the resource limits of instances, jobs and datastores. It tests the out-of-memory kills in deploys, jobs and status, and the free-disk check. |
ferry-cli · e2e | A real ferryd that the ferry CLI drives |
Run one suite
FERRY_E2E=1 cargo test -p ferry-engine --test e2eThe first name is the crate. The second name is the test.