summaryrefslogtreecommitdiff
path: root/contrib/cirrus/integration_test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/cirrus/integration_test.sh')
-rwxr-xr-xcontrib/cirrus/integration_test.sh77
1 files changed, 54 insertions, 23 deletions
diff --git a/contrib/cirrus/integration_test.sh b/contrib/cirrus/integration_test.sh
index 58c8af289..8a2507f38 100755
--- a/contrib/cirrus/integration_test.sh
+++ b/contrib/cirrus/integration_test.sh
@@ -5,33 +5,64 @@ source $(dirname $0)/lib.sh
req_env_var "
GOSRC $GOSRC
+SCRIPT_BASE $SCRIPT_BASE
OS_RELEASE_ID $OS_RELEASE_ID
OS_RELEASE_VER $OS_RELEASE_VER
+CONTAINER_RUNTIME $CONTAINER_RUNTIME
"
-record_timestamp "integration test start"
+exit_handler() {
+ set +ex
+ record_timestamp "integration test end"
+}
+trap exit_handler EXIT
-clean_env
+record_timestamp "integration test start"
-set -x
cd "$GOSRC"
-case "${OS_RELEASE_ID}-${OS_RELEASE_VER}" in
- ubuntu-18)
- make install PREFIX=/usr ETCDIR=/etc
- make test-binaries
- SKIP_USERNS=1 make localintegration
- ;;
- fedora-29) ;& # Continue to the next item
- fedora-28) ;&
- centos-7) ;&
- rhel-7)
- make install PREFIX=/usr ETCDIR=/etc
- make podman-remote
- install bin/podman-remote /usr/bin
- make test-binaries
- make localintegration
- ;;
- *) bad_os_id_ver ;;
-esac
-
-record_timestamp "integration test end"
+
+if [[ "$SPECIALMODE" == "in_podman" ]]
+then
+ set -x
+ ${CONTAINER_RUNTIME} run --rm --privileged --net=host \
+ -v $GOSRC:$GOSRC:Z \
+ --workdir $GOSRC \
+ -e "CGROUP_MANAGER=cgroupfs" \
+ -e "STORAGE_OPTIONS=--storage-driver=vfs" \
+ -e "CRIO_ROOT=$GOSRC" \
+ -e "PODMAN_BINARY=/usr/bin/podman" \
+ -e "CONMON_BINARY=/usr/libexec/podman/conmon" \
+ -e "DIST=$OS_RELEASE_ID" \
+ -e "CONTAINER_RUNTIME=$CONTAINER_RUNTIME" \
+ ${OS_RELEASE_ID}podmanbuild bash $GOSRC/$SCRIPT_BASE/container_test.sh -b -i -t
+
+ exit $?
+elif [[ "$SPECIALMODE" == "rootless" ]]
+then
+ req_env_var "ROOTLESS_USER $ROOTLESS_USER"
+ set -x
+ ssh $ROOTLESS_USER@localhost \
+ -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o CheckHostIP=no \
+ $GOSRC/$SCRIPT_BASE/rootless_test.sh
+ exit $?
+else
+ set -x
+ make
+ make install PREFIX=/usr ETCDIR=/etc
+ make test-binaries
+ clean_env
+
+ case "${OS_RELEASE_ID}-${OS_RELEASE_VER}" in
+ ubuntu-18) ;;
+ fedora-29) ;& # Continue to the next item
+ fedora-28) ;&
+ centos-7) ;&
+ rhel-7)
+ make podman-remote
+ install bin/podman-remote /usr/bin
+ ;;
+ *) bad_os_id_ver ;;
+ esac
+ make localintegration
+ exit $?
+fi