aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2020-07-29 14:39:02 -0400
committerMatthew Heon <mheon@redhat.com>2020-10-20 09:20:33 -0400
commit3858fc1d019d13fe3378c129d133fd22789ac0dc (patch)
treeb4352cd8f7ee06586fcdfedd0e78a292ed644b54
parent338d521782727daca90efc2601b16502626aa53c (diff)
downloadpodman-3858fc1d019d13fe3378c129d133fd22789ac0dc.tar.gz
podman-3858fc1d019d13fe3378c129d133fd22789ac0dc.tar.bz2
podman-3858fc1d019d13fe3378c129d133fd22789ac0dc.zip
Use runtime names instead of paths in E2E tests
My patches to fix `--runtime /usr/bin/crun` being allowed to use a different version of the crun runtime revealed a problem: we were actually relying on that exact behavior in our E2E tests. We specified the runtime path as `/usr/bin/runc` for the Ubuntu tests, but that didn't exist, so Podman was actively looking for a different, usable runc binary and using that, instead of the path we explicitly hardcoded. Fixing the bug broke this, and thus broke the tests. Instead of hard-coding OCI runtime paths, swap to just using the runtime name, `runc` or `crun`, and letting Podman figure out where the runtime lives - it's quite good at that. This should un-break the tests and make them more durable. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
-rwxr-xr-xcontrib/cirrus/setup_environment.sh7
-rw-r--r--test/endpoint/setup.go9
2 files changed, 6 insertions, 10 deletions
diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh
index 1b992711f..df5280439 100755
--- a/contrib/cirrus/setup_environment.sh
+++ b/contrib/cirrus/setup_environment.sh
@@ -52,7 +52,7 @@ case "$CG_FS_TYPE" in
if [[ "$OS_RELEASE_ID" == "ubuntu" ]]; then
echo "export OCI_RUNTIME=/usr/lib/cri-o-runc/sbin/runc" >> /etc/environment
else
- echo "export OCI_RUNTIME=/usr/bin/runc" >> /etc/environment
+ echo "export OCI_RUNTIME=runc" >> /etc/environment
fi
fi
;;
@@ -61,7 +61,7 @@ case "$CG_FS_TYPE" in
# This is necessary since we've built/installed from source,
# which uses runc as the default.
warn "Forcing testing with crun instead of runc"
- echo "export OCI_RUNTIME=/usr/bin/crun" >> /etc/environment
+ echo "export OCI_RUNTIME=crun" >> /etc/environment
fi
;;
*) die_unknown CG_FS_TYPE
@@ -127,6 +127,9 @@ case "$PRIV_NAME" in
echo "$_suns" >> /etc/environment
source /etc/environment
fi
+
+# Reload to incorporate any changes from above
+source "$SCRIPT_BASE/lib.sh"
;;
rootless)
_ru="export ROOTLESS_USER='${ROOTLESS_USER:-some${RANDOM}dude}'"
diff --git a/test/endpoint/setup.go b/test/endpoint/setup.go
index 56cab06b0..6bbc8d2bc 100644
--- a/test/endpoint/setup.go
+++ b/test/endpoint/setup.go
@@ -51,14 +51,7 @@ func Setup(tempDir string) *EndpointTestIntegration {
ociRuntime := os.Getenv("OCI_RUNTIME")
if ociRuntime == "" {
- var err error
- ociRuntime, err = exec.LookPath("runc")
- // If we cannot find the runc binary, setting to something static as we have no way
- // to return an error. The tests will fail and point out that the runc binary could
- // not be found nicely.
- if err != nil {
- ociRuntime = "/usr/bin/runc"
- }
+ ociRuntime = "runc"
}
os.Setenv("DISABLE_HC_SYSTEMD", "true")
CNIConfigDir := "/etc/cni/net.d"