Files
docker-php-fpm/tests/test.sh
2022-03-17 16:36:13 +01:00

86 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
###
### Settings
###
# Be strict
set -e
set -u
set -o pipefail
# Loop over newlines instead of spaces
IFS=$'\n'
###
### Variables
###
# Current directory
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
###
### Source libs
###
# shellcheck disable=SC1090
. "${CWD}/.lib.sh"
###
### Sanity check
###
if [ "${#}" -ne "4" ]; then
echo "Usage: start.ci <image> <arch> <version> <flavour>"
exit 1
fi
IMAGE="${1}"
ARCH="${2}"
VERSION="${3}"
FLAVOUR="${4}"
###
### Run tests
###
if [ "${FLAVOUR}" = "base" ] || [ "${FLAVOUR}" = "mods" ] || [ "${FLAVOUR}" = "prod" ] || [ "${FLAVOUR}" = "work" ]; then
TESTS="$( find ${CWD} -regex "${CWD}/base/[0-9].+.*\.sh" | sort -u )"
for t in ${TESTS}; do
printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################"
printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}"
printf "\033[0;33m%s\033[0m\n\n" "################################################################################"
time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}"
done
fi
if [ "${FLAVOUR}" = "mods" ] || [ "${FLAVOUR}" = "prod" ] || [ "${FLAVOUR}" = "work" ]; then
TESTS="$( find ${CWD} -regex "${CWD}/mods/[0-9].+.*\.sh" | sort -u )"
for t in ${TESTS}; do
printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################"
printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}"
printf "\033[0;33m%s\033[0m\n\n" "################################################################################"
time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}"
done
fi
if [ "${FLAVOUR}" = "prod" ] || [ "${FLAVOUR}" = "work" ]; then
TESTS="$( find ${CWD} -regex "${CWD}/prod/[0-9].+.*\.sh" | sort -u )"
for t in ${TESTS}; do
printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################"
printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}"
printf "\033[0;33m%s\033[0m\n\n" "################################################################################"
time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}"
done
fi
if [ "${FLAVOUR}" = "work" ]; then
TESTS="$( find ${CWD} -regex "${CWD}/work/[0-9].+.*\.sh" | sort -u )"
for t in ${TESTS}; do
printf "\n\n\033[0;33m%s\033[0m\n" "################################################################################"
printf "\033[0;33m%s %s\033[0m\n" "#" "[${VERSION}-${FLAVOUR}] (${ARCH}): ${t}"
printf "\033[0;33m%s\033[0m\n\n" "################################################################################"
time ${t} "${IMAGE}" "${VERSION}" "${FLAVOUR}"
done
fi