aboutsummaryrefslogtreecommitdiff
path: root/test/system/helpers.bash
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-05-04 14:46:17 -0400
committerGitHub <noreply@github.com>2021-05-04 14:46:17 -0400
commit8eefca5a257121b177562742c972e39e1686140d (patch)
treeca9a6892a9fe3dadb95087da0d4b994490bcc584 /test/system/helpers.bash
parentaf2418018b8a0d83734a7a329955f5a9938bdfbf (diff)
parent9fd7ab50f82c7eaccd2b9daca84e516367f610a2 (diff)
downloadpodman-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.bash27
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).