podman
1# -*- bash -*-
2#
3# global setup/teardown for the entire system test suite
4#
5bats_require_minimum_version 1.8.06
7load helpers
8load helpers.network
9load helpers.registry
10
11# Create common environment just in case we end up needing a registry.
12# These environment variables will be available to all tests.
13function setup_suite() {14# FIXME: 2023-12-13: https://github.com/bats-core/bats-core/issues/81215# Running 'bats --filter-tags' sets IFS=',' which ... ugh. Not fun to debug.16# The line below is newline, space, tab.17IFS="18"
19
20export PODMAN_LOGIN_WORKDIR="$BATS_SUITE_TMPDIR/podman-bats-registry"21mkdir "$PODMAN_LOGIN_WORKDIR"22
23export PODMAN_LOGIN_USER="user$(random_string 4)"24export PODMAN_LOGIN_PASS="pw$(random_string 15)"25
26# FIXME: racy! It could be many minutes between now and when we start it.27# To mitigate, we use a range not used anywhere else in system tests.28export PODMAN_LOGIN_REGISTRY_PORT=$(random_free_port 42000-42999)29
30# The above does not handle errors. Do a final confirmation.31assert "$PODMAN_LOGIN_REGISTRY_PORT" != "" \32"Unable to set PODMAN_LOGIN_REGISTRY_PORT"33}
34
35# Run at the very end of all tests. Useful for cleanup of non-BATS tmpdirs.
36function teardown_suite() {37stop_registry
38}
39