144 lines
4.6 KiB
Bash
Executable File
144 lines
4.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
export NC='\e[0m'
|
|
export RED='\e[0;31m'
|
|
export GREEN='\e[0;32m'
|
|
|
|
THIS_SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
|
cd "$THIS_SCRIPT_DIR" || exit 1
|
|
|
|
#################################################
|
|
# Run resource tests.
|
|
# Arguments:
|
|
# none
|
|
#################################################
|
|
checkResources () {
|
|
echo "#################################################################" >&2
|
|
echo "Checking documentation, TypeScript and Scss files" >&2
|
|
echo "#################################################################" >&2
|
|
|
|
./additionalTests.sh -s lintXliff
|
|
EXIT_CODE_XLIFF=$?
|
|
|
|
./additionalTests.sh -s buildDocumentation
|
|
EXIT_CODE_DOCUMENTATION=$?
|
|
|
|
echo "#################################################################" >&2
|
|
echo "Checked documentation, TypeScript and Scss files" >&2
|
|
if [[ ${EXIT_CODE_SCSS} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_TYPESCRIPT} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_XLIFF} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_DOCUMENTATION} -eq 0 ]]
|
|
then
|
|
echo -e "${GREEN}Resources valid${NC}" >&2
|
|
else
|
|
echo -e "${RED}Resources invalid${NC}" >&2
|
|
fi
|
|
echo "#################################################################" >&2
|
|
echo "" >&2
|
|
|
|
./additionalTests.sh -s clean
|
|
}
|
|
|
|
#################################################
|
|
# Run test matrix.
|
|
# Arguments:
|
|
# php version
|
|
# typo3 version
|
|
# testing framework version
|
|
# test path
|
|
# prefer lowest
|
|
#################################################
|
|
runFunctionalTests () {
|
|
local PHP_VERSION="${1}"
|
|
local TYPO3_VERSION=${2}
|
|
local TESTING_FRAMEWORK=${3}
|
|
local TEST_PATH=${4}
|
|
local PREFER_LOWEST=${5}
|
|
|
|
echo "###########################################################################" >&2
|
|
echo " Run unit and/or functional tests with" >&2
|
|
echo " - TYPO3 ${TYPO3_VERSION}" >&2
|
|
echo " - PHP ${PHP_VERSION}">&2
|
|
echo " - Testing framework ${TESTING_FRAMEWORK}">&2
|
|
echo " - Test path ${TEST_PATH}">&2
|
|
echo " - Additional ${PREFER_LOWEST}">&2
|
|
echo "###########################################################################" >&2
|
|
|
|
./runTests.sh -s cleanTests
|
|
|
|
./additionalTests.sh \
|
|
-p ${PHP_VERSION} \
|
|
-s lintPhp || exit 1 ; \
|
|
EXIT_CODE_LINT=$?
|
|
|
|
./additionalTests.sh \
|
|
-p ${PHP_VERSION} \
|
|
-s composerInstallPackage \
|
|
-q "typo3/cms-core:${TYPO3_VERSION}" \
|
|
-r " ${PREFER_LOWEST}" || exit 1 ; \
|
|
EXIT_CODE_CORE=$?
|
|
|
|
./additionalTests.sh \
|
|
-p ${PHP_VERSION} \
|
|
-s composerInstallPackage \
|
|
-q "typo3/testing-framework:${TESTING_FRAMEWORK}" \
|
|
-r " --dev ${PREFER_LOWEST}" || exit 1 ; \
|
|
EXIT_CODE_FRAMEWORK=$?
|
|
|
|
./runTests.sh \
|
|
-p ${PHP_VERSION} \
|
|
-s composerValidate || exit 1 ; \
|
|
EXIT_CODE_VALIDATE=$?
|
|
|
|
echo "###########################################################################" >&2
|
|
echo " Finished unit and/or functional tests with" >&2
|
|
echo " - TYPO3 ${TYPO3_VERSION}" >&2
|
|
echo " - PHP ${PHP_VERSION}">&2
|
|
echo " - Testing framework ${TESTING_FRAMEWORK}">&2
|
|
echo " - Test path ${TEST_PATH}">&2
|
|
echo " - Additional ${PREFER_LOWEST}">&2
|
|
if [[ ${EXIT_CODE_LINT} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_INSTALL} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_CORE} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_FRAMEWORK} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_VALIDATE} -eq 0 ]] && \
|
|
[[ ${EXIT_CODE_FUNCTIONAL} -eq 0 ]]
|
|
then
|
|
echo -e "${GREEN}SUCCESS${NC}" >&2
|
|
else
|
|
echo -e "${RED}FAILURE${NC}" >&2
|
|
exit 1
|
|
fi
|
|
echo "#################################################################" >&2
|
|
echo "" >&2
|
|
}
|
|
|
|
#################################################
|
|
# Removes all files created by tests.
|
|
# Arguments:
|
|
# none
|
|
#################################################
|
|
cleanup () {
|
|
./runTests.sh -s clean
|
|
./additionalTests.sh -s clean
|
|
git checkout ../../composer.json
|
|
}
|
|
|
|
DEBUG_TESTS=false
|
|
if [[ $DEBUG_TESTS != true ]]; then
|
|
checkResources
|
|
|
|
runFunctionalTests "8.2" "^13.0" "dev-main" "Tests/Functional" || exit 1
|
|
runFunctionalTests "8.2" "^13.0" "dev-main" "Tests/Functional" "--prefer-lowest" || exit 1
|
|
runFunctionalTests "8.3" "^13.0" "dev-main" "Tests/Functional" || exit 1
|
|
runFunctionalTests "8.3" "^13.0" "dev-main" "Tests/Functional" "--prefer-lowest" || exit 1
|
|
cleanup
|
|
else
|
|
cleanup
|
|
runFunctionalTests "8.2" "^13.0" "dev-main" "Tests/Functional" || exit 1
|
|
cleanup
|
|
# ./runTests.sh -x -p 8.2 -d sqlite -s functional -e "--group selected" Tests/Functional
|
|
# ./runTests.sh -x -p 8.2 -d sqlite -s functional Tests/Functional
|
|
fi
|