spiegel_podman/test/compose
Paul Holzinger 79a8c3b480
test/compose: remove compose v1 code
Now that we only test compose v2 remove the special cases from the test
code to simply the tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
(cherry picked from commit b1736c472a)
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Signed-off-by: Chris Evich <cevich@redhat.com>
2026-03-30 15:13:38 -04:00
..
disable_healthcheck Docker-compose disable healthcheck properly handled 2022-07-05 08:02:22 -04:00
env_and_volume add compose test descriptions 2020-12-11 10:07:13 -06:00
images add compose test descriptions 2020-12-11 10:07:13 -06:00
ipam_set_ip test/compose: remove compose v1 code 2026-03-30 15:13:38 -04:00
mount_and_label Fix AVC denials in tests of volume mounts 2021-08-18 12:04:06 -04:00
port_map_diff_port add compose test descriptions 2020-12-11 10:07:13 -06:00
simple_port_map add compose test descriptions 2020-12-11 10:07:13 -06:00
slirp4netns_opts fix compose test error in retry logic 2022-03-22 15:22:17 +01:00
two_networks test/compose: remove compose v1 code 2026-03-30 15:13:38 -04:00
update_network_mtu (rootful) docker-compose now updates network MTU 2022-07-05 07:54:09 -04:00
uptwice test/compose: remove compose v1 code 2026-03-30 15:13:38 -04:00
README.md test/compose: remove compose v1 code 2026-03-30 15:13:38 -04:00
setup.sh.example add compose test descriptions 2020-12-11 10:07:13 -06:00
teardown.sh.example add compose test descriptions 2020-12-11 10:07:13 -06:00
test-compose compose test: remove cni config copy 2022-07-26 14:36:26 -04:00

Tests for docker-compose v2

This directory contains tests for docker-compose v2 under podman. docker-compose v1 is no longer supported upstream so we no longer test with it.

Each subdirectory must contain one docker-compose.yml file along with all necessary infrastructure for it (e.g. Containerfile, any files to be copied into the container, and so on.

The test-compose script will, for each test subdirectory:

  • set up a fresh podman root under an empty working directory;
  • run a podman server rooted therein;
  • cd to the test subdirectory, and run docker-compose up -d;
  • source tests.sh;
  • run docker-compose down.

As a special case, setup.sh and teardown.sh in the test directory will contain commands to be executed prior to docker-compose up and after docker-compose down respectively.

tests.sh will probably contain commands of the form

 test_port 12345 = 'hello there'

Where 12345 is the port to curl to; '=' checks equality, '~' uses expr to check substrings; and 'hello there' is a string to look for in the curl results.

Usage:

$ sudo test/compose/test-compose [pattern]

By default, all subdirs will be run. If given a pattern, only those subdirectories matching 'pattern' will be run.

If $COMPOSE_WAIT is set, test-compose will pause before running docker-compose down. This can be helpful for you to debug failing tests:

$ env COMPOSE_WAIT=1 sudo --preserve-env=COMPOSE_WAIT test/compose/test-compose

Then, in another window,

# ls -lt /var/tmp/
# X=/var/tmp/test-compose.tmp.XXXXXX <--- most recent results of above
# podman --root $X/root --runroot $X/runroot ps -a
# podman --root $X/root --runroot $X/runroot logs -l