automation-tests/test/compose
Paul Holzinger ca4f6ec1db Parse slirp4netns net options with compat api
Parse the slirp4netns network options when called via compat api. The
options must be extracted from the NetworkMode string.

Fixes #10110

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-04-23 11:48:50 +02: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
mount_and_label Add new docker-compose test for two networks 2021-04-01 17:27:03 +02: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 Parse slirp4netns net options with compat api 2021-04-23 11:48:50 +02:00
two_networks Add new docker-compose test for two networks 2021-04-01 17:27:03 +02:00
README.md test-compose: rewrite to new subdir form 2020-12-11 09:27:42 -06: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: diagnose flakes v3 2021-04-15 20:05:39 +02: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