#!/usr/bin/env bash
set -e -o pipefail

if [ -n "$TEST_INTEGRATION_DEST" ]; then
	export DEST="$ABS_DEST/$TEST_INTEGRATION_DEST"
	export DOCKER_INTEGRATION_DAEMON_DEST="$DEST"
	mkdir -p "$DEST"
fi

source hack/make/.integration-test-helpers

if [ ! -z "${TEST_SKIP_INTEGRATION}" ] && [ ! -z "${TEST_SKIP_INTEGRATION_CLI}" ]; then
	echo integration and integration-cli skipped according to env vars
	exit 0
fi

(
	env
	build_test_suite_binaries
	bundle .integration-daemon-start
	bundle .integration-daemon-setup

	testexit=0
	( repeat run_test_integration ) || testexit=$?

	# Always run cleanup, even if the subshell fails
	bundle .integration-daemon-stop
	cleanup_test_suite_binaries
	error_on_leaked_containerd_shims

	exit ${testexit}

) 2>&1 | tee -a "$DEST/test.log"