podman/test/compose
Paul Holzinger a210a4d7c2
test/compose: add test for default connection
Make sure that we use the --connection correctly with podman compose.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-02-27 13:44:34 +01:00
..
disable_healthcheck
env_and_volume
etc_hosts Fix Docker API compatibility with network alias (#17167) 2023-12-14 23:31:44 -05:00
images
ipam_set_ip
mount_and_label
port_map_diff_port
simple_port_map Improve compose tests 2023-12-16 12:04:25 -05:00
slirp4netns_opts Improve compose tests 2023-12-16 12:04:25 -05:00
two_networks
update_network_mtu
uptwice test/compose: add test for default connection 2024-02-27 13:44:34 +01:00
README.md
setup.sh.example
teardown.sh.example
test-compose test/compose: add test for default connection 2024-02-27 13:44:34 +01:00

README.md

Tests for docker-compose

This directory contains tests for docker-compose under podman.

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