61 lines
2.7 KiB
Bash
61 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
IMAGE=$1
|
|
if [ -z "$1" ]; then
|
|
IMAGE=harbor.hq.rosti.cz/rosti/runtime:test
|
|
fi
|
|
|
|
RCol='\e[0m' # Text Reset
|
|
|
|
# Regular Bold Underline High Intensity BoldHigh Intens Background High Intensity Backgrounds
|
|
Bla='\e[0;30m'; BBla='\e[1;30m'; UBla='\e[4;30m'; IBla='\e[0;90m'; BIBla='\e[1;90m'; On_Bla='\e[40m'; On_IBla='\e[0;100m';
|
|
Red='\e[0;31m'; BRed='\e[1;31m'; URed='\e[4;31m'; IRed='\e[0;91m'; BIRed='\e[1;91m'; On_Red='\e[41m'; On_IRed='\e[0;101m';
|
|
Gre='\e[0;32m'; BGre='\e[1;32m'; UGre='\e[4;32m'; IGre='\e[0;92m'; BIGre='\e[1;92m'; On_Gre='\e[42m'; On_IGre='\e[0;102m';
|
|
Yel='\e[0;33m'; BYel='\e[1;33m'; UYel='\e[4;33m'; IYel='\e[0;93m'; BIYel='\e[1;93m'; On_Yel='\e[43m'; On_IYel='\e[0;103m';
|
|
Blu='\e[0;34m'; BBlu='\e[1;34m'; UBlu='\e[4;34m'; IBlu='\e[0;94m'; BIBlu='\e[1;94m'; On_Blu='\e[44m'; On_IBlu='\e[0;104m';
|
|
Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m'; IPur='\e[0;95m'; BIPur='\e[1;95m'; On_Pur='\e[45m'; On_IPur='\e[0;105m';
|
|
Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m'; ICya='\e[0;96m'; BICya='\e[1;96m'; On_Cya='\e[46m'; On_ICya='\e[0;106m';
|
|
Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m'; IWhi='\e[0;97m'; BIWhi='\e[1;97m'; On_Whi='\e[47m'; On_IWhi='\e[0;107m';
|
|
|
|
if test -z "$DOCKER"; then
|
|
DOCKER=docker
|
|
fi
|
|
|
|
CONTAINER_NAME=dev_test
|
|
$DOCKER stop $CONTAINER_NAME &>/dev/null
|
|
|
|
COUNT=`cat Dockerfile | grep -e "^RUN build_" | sed "s/RUN build_//" | sed "s/\.sh//" | sed "s/php8/php/" | wc -l`
|
|
I=1
|
|
|
|
cat Dockerfile | grep -e "^RUN build_" | sed "s/RUN build_//" | sed "s/\.sh//" | sed "s/php8/php/" | \
|
|
while read line
|
|
do
|
|
tech=`echo $line | cut -d " " -f 1`
|
|
tech_version=`echo $line | cut -d " " -f 2`
|
|
|
|
echo -e "${BRed}:: ($I/$COUNT) ${Yel}Testing ${BWhi}$tech ${Gre}$tech_version${RCol}"
|
|
|
|
set -e
|
|
|
|
echo -e "${BRed}.. ${Yel}starting test container${RCol}"
|
|
$DOCKER run -d --rm --name $CONTAINER_NAME $IMAGE > /dev/null || exit 1
|
|
echo -e "${BRed}.. ${Yel}ten seconds sleep${RCol}"
|
|
sleep 10
|
|
|
|
echo -e "${BRed}.. ${Yel}setting up the tech${RCol}"
|
|
$DOCKER exec -e TESTMODE=1 -e MENUITEM=tech -e TECH=$tech-$tech_version $CONTAINER_NAME su app -c rosti > /dev/null || exit 1
|
|
echo -e "${BRed}.. ${Yel}three seconds sleep${RCol}"
|
|
sleep 3
|
|
echo -e "${BRed}.. ${Yel}trying to get HTTP status code 200${RCol}"
|
|
$DOCKER exec $CONTAINER_NAME curl --head http://localhost:8000 | grep "HTTP/1.1 200" || exit 2
|
|
|
|
set +e
|
|
|
|
echo -e "${BRed}.. ${Yel}cleaning this round${RCol}"
|
|
$DOCKER stop $CONTAINER_NAME &>/dev/null || exit 1
|
|
sleep 1
|
|
|
|
((I++))
|
|
|
|
done
|