diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-05-04 14:46:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-04 14:46:17 -0400 |
commit | 8eefca5a257121b177562742c972e39e1686140d (patch) | |
tree | ca9a6892a9fe3dadb95087da0d4b994490bcc584 /test/system/helpers.bash | |
parent | af2418018b8a0d83734a7a329955f5a9938bdfbf (diff) | |
parent | 9fd7ab50f82c7eaccd2b9daca84e516367f610a2 (diff) | |
download | podman-8eefca5a257121b177562742c972e39e1686140d.tar.gz podman-8eefca5a257121b177562742c972e39e1686140d.tar.bz2 podman-8eefca5a257121b177562742c972e39e1686140d.zip |
Merge pull request #10199 from edsantiago/system_tests_with_runc_override
System tests: honor $OCI_RUNTIME (for CI)
Diffstat (limited to 'test/system/helpers.bash')
-rw-r--r-- | test/system/helpers.bash | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/system/helpers.bash b/test/system/helpers.bash index 1de7ddfd9..e0c208f57 100644 --- a/test/system/helpers.bash +++ b/test/system/helpers.bash @@ -35,6 +35,23 @@ fi # That way individual tests can override with their own setup/teardown, # while retaining the ability to include these if they so desire. +# Some CI systems set this to runc, overriding the default crun. +# Although it would be more elegant to override options in run_podman(), +# we instead override $PODMAN itself because some tests (170-run-userns) +# have to invoke $PODMAN directly. +if [[ -n $OCI_RUNTIME ]]; then + if [[ -z $CONTAINERS_CONF ]]; then + # FIXME: BATS provides no mechanism for end-of-run cleanup[1]; how + # can we avoid leaving this file behind when we finish? + # [1] https://github.com/bats-core/bats-core/issues/39 + export CONTAINERS_CONF=$(mktemp --tmpdir=${BATS_TMPDIR:-/tmp} podman-bats-XXXXXXX.containers.conf) + cat >$CONTAINERS_CONF <<EOF +[engine] +runtime="$OCI_RUNTIME" +EOF + fi +fi + # Setup helper: establish a test environment with exactly the images needed function basic_setup() { # Clean up all containers @@ -284,6 +301,16 @@ function is_cgroupsv2() { test "$cgroup_type" = "cgroup2fs" } +# Returns the OCI runtime *basename* (typically crun or runc). Much as we'd +# love to cache this result, we probably shouldn't. +function podman_runtime() { + # This function is intended to be used as '$(podman_runtime)', i.e. + # our caller wants our output. run_podman() messes with output because + # it emits the command invocation to stdout, hence the redirection. + run_podman info --format '{{ .Host.OCIRuntime.Name }}' >/dev/null + basename "${output:-[null]}" +} + # rhbz#1895105: rootless journald is unavailable except to users in # certain magic groups; which our testuser account does not belong to # (intentional: that is the RHEL default, so that's the setup we test). |