compose/pkg/e2e
Nicolas De Loof fe17e31be0 test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate
Vocabulary grows with Recreated (the mirror of NotRecreated),
ServiceHealthy (healthcheck status observed from inspect) and a Within
action modifier bounding blocking commands like up --wait, replacing
the hand-rolled goroutine+timer of the legacy TestStartInterval.

- cascade: abort-on-container-exit/failure scenarios inline the model;
  exit-code propagation (111) is locked with ExitCode. The one-off
  variant stays legacy — it drives a long-running up in the background.
- profiles: the four scenarios observe which services materialize
  instead of grepping ps output; the dotenv variant declares its .env
  inline, making the activation mechanism visible.
- TestRecreateWithNoDeps now asserts both sides: the service is
  replaced (Recreated) and the healthy dependency is left alone.
- Fixtures start_interval/, profiles/compose.yaml+test-profile.env and
  recreate-no-deps.yaml are removed; cascade/ stays for the legacy
  one-off test.

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2026-08-18 16:49:56 +02:00
..
fixtures test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
testdata test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
assert.go fix mixed assertion libraries in tests 2026-03-31 17:32:51 +02:00
bridge_test.go Reuse bridge image version in e2e tests 2026-08-06 16:00:08 +02:00
build_test.go test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
cancel_test.go test: replace context.Background()/context.TODO() with t.Context() 2026-01-20 11:34:11 +01:00
cascade_test.go test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
checks.go test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
commit_test.go fix: commit tests 2024-11-27 07:39:46 +01:00
compose_environment_test.go empty env variable with no value must be unset in container 2024-07-10 14:23:34 +02:00
compose_exec_test.go be sure everything has been cleanup at the end of each tests 2024-12-04 15:28:16 +01:00
compose_run_build_once_test.go fix: make e2e tests pass reliably locally with Docker Desktop 2026-05-18 10:55:41 +02:00
compose_run_test.go Normalize --no-TTY flag to --no-tty 2026-06-29 20:56:31 +02:00
compose_test.go fix: make e2e tests pass reliably locally with Docker Desktop 2026-05-18 10:55:41 +02:00
compose_up_test.go fix various linting issues 2025-10-31 17:44:38 +01:00
config_test.go fix(config): resolve service environment when computing --hash 2026-08-11 08:37:13 +02:00
configs_test.go be sure everything has been cleanup at the end of each tests 2024-12-04 15:28:16 +01:00
container_name_test.go test(e2e): expose, container_name, ipc and wait scenarios 2026-08-18 16:49:56 +02:00
cp_test.go align --format flag and UX with docker cli 2022-12-14 22:53:43 +01:00
e2e_config_plugin.go chore(e2e): fix flaky test & standalone behavior (#11382) 2024-01-30 10:49:53 -05:00
e2e_config_standalone.go Use build tags for selecting e2e test mode 2021-12-09 10:52:18 +01:00
env_file_test.go fix(config): resolve service environment when computing --hash 2026-08-11 08:37:13 +02:00
events_test.go fix(events): validate service names before subscribing to events 2026-08-18 10:48:59 +02:00
exec_test.go prefer application container vs one-off running exec without index 2025-09-07 14:41:34 +02:00
export_test.go fix: lint 2024-10-02 21:15:59 +02:00
expose_test.go test(e2e): expose, container_name, ipc and wait scenarios 2026-08-18 16:49:56 +02:00
framework.go fix mixed assertion libraries in tests 2026-03-31 17:32:51 +02:00
healthcheck_test.go test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
hooks_test.go pre_start: support pre_start lifecycle hooks 2026-06-30 10:49:04 +02:00
image_identity_corner_test.go test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
image_identity_test.go fix(build): canonical content-digest producer, single image-label writer 2026-08-13 12:03:29 +02:00
images_test.go fix(images): tolerate containers whose image record is gone 2026-08-14 15:20:37 +02:00
ipc_test.go test(e2e): expose, container_name, ipc and wait scenarios 2026-08-18 16:49:56 +02:00
logs_test.go modernize some code 2026-02-12 15:31:35 +01:00
main_test.go Use build tags for selecting e2e test mode 2021-12-09 10:52:18 +01:00
model_test.go fix: make e2e tests pass reliably locally with Docker Desktop 2026-05-18 10:55:41 +02:00
multiplatform_test.go test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
networks_test.go fix: make e2e tests pass reliably locally with Docker Desktop 2026-05-18 10:55:41 +02:00
noDeps_test.go test(e2e): no-deps scenarios — the donor container's absence is the observable 2026-08-18 16:49:56 +02:00
orphans_test.go test(e2e): TestRemoveOrphans states its real intent — COMPOSE_REMOVE_ORPHANS from .env 2026-08-18 16:49:56 +02:00
pause_test.go test(e2e): pause scenarios — paused is a container state, ExitCode locks error paths 2026-08-18 16:49:56 +02:00
profiles_test.go test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
providers_test.go test(e2e): prepend provider bin dir to PATH in provider tests 2026-08-18 10:47:48 +02:00
ps_test.go fix: make e2e tests pass reliably locally with Docker Desktop 2026-05-18 10:55:41 +02:00
publish_test.go fix(oci): honor --insecure-registry when up re-loads the model 2026-07-21 16:24:34 +02:00
pull_test.go distinguish event (short) status text and details 2025-11-04 10:18:55 +01:00
recreate_no_deps_test.go test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
restart_test.go test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
scale_test.go fix mixed assertion libraries in tests 2026-03-31 17:32:51 +02:00
scenario.go test(e2e): lifecycle scenarios — cascade, profiles, healthcheck, recreate 2026-08-18 16:49:56 +02:00
SCENARIO.md test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
secrets_test.go Compose can't create a tar with adequate uid:gid ownership 2025-10-20 09:51:58 +02:00
start_stop_test.go test(e2e): one-off vocabulary — service checks skip run containers 2026-08-18 16:49:56 +02:00
testdata_test.go test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
up_test.go fix mixed assertion libraries in tests 2026-03-31 17:32:51 +02:00
volumes_test.go test(e2e): testdata/<TestName>/ anchors each scenario's project files 2026-08-18 16:49:56 +02:00
wait_test.go test(e2e): expose, container_name, ipc and wait scenarios 2026-08-18 16:49:56 +02:00
watch_test.go watch: do not rebuild depends_on services on file change 2026-06-19 11:23:50 +02:00