Run REST API and MaxCtrl unit tests
Install Docker when building on CentOS 7. This allows the REST API and MaxCtrl unit tests to be run.
This commit is contained in:
parent
f90b8cdafb
commit
1572e088bf
@ -16,6 +16,22 @@ if [[ "$cmake_flags" =~ "BUILD_TESTS" ]]
|
||||
then
|
||||
# All tests must pass otherwise the build is considered a failure
|
||||
ctest --output-on-failure || exit 1
|
||||
|
||||
# See if docker is installed and run REST API and MaxCtrl tests if it is
|
||||
command -v docker
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
export SKIP_SHUTDOWN=Y
|
||||
make test_rest_api && make test_maxctrl
|
||||
rc=$?
|
||||
#docker ps -aq|xargs docker rm -vf
|
||||
|
||||
if [ $rc -ne 0 ]
|
||||
then
|
||||
cat maxscale_test/*.output maxscale_test/log/maxscale/*.log
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Never strip binaries
|
||||
|
@ -86,6 +86,14 @@ else
|
||||
|
||||
# Enable it by default
|
||||
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc
|
||||
else
|
||||
# Installed for REST API and MaxCtrl unit tests
|
||||
sudo yum -y install docker epel-release
|
||||
sudo yum -y install docker-compose
|
||||
sudo groupadd docker
|
||||
sudo usermod -a -G docker `whoami`
|
||||
sudo sed -i 's/--selinux-enabled/--selinux-enabled=false/' /etc/sysconfig/docker
|
||||
sudo systemctl start docker
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -84,7 +84,17 @@ do
|
||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null && break
|
||||
sleep 1
|
||||
done
|
||||
echo "Done!"
|
||||
|
||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "failed to start $node, error is:"
|
||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1"
|
||||
exit 1
|
||||
else
|
||||
echo "Done!"
|
||||
fi
|
||||
done
|
||||
|
||||
# Go to the test directory
|
||||
|
@ -35,21 +35,20 @@ then
|
||||
fi
|
||||
|
||||
# Start MaxScale
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output
|
||||
|
||||
# Wait for the first MaxScale to start
|
||||
for ((i=0;i<150;i++))
|
||||
do
|
||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && break
|
||||
sleep 0.1
|
||||
done
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output || exit 1
|
||||
|
||||
# Start a second maxscale
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale_secondary.cnf &>> $maxscaledir/maxscale2.output
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale_secondary.cnf &>> $maxscaledir/maxscale2.output || exit 1
|
||||
|
||||
# Wait for the MaxScales to start
|
||||
|
||||
# Wait for the second MaxScale to start
|
||||
for ((i=0;i<150;i++))
|
||||
do
|
||||
$maxscaledir/bin/maxctrl --hosts 127.0.0.1:8990 list servers >& /dev/null && break
|
||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && \
|
||||
$maxscaledir/bin/maxctrl --hosts 127.0.0.1:8990 list servers >& /dev/null && \
|
||||
exit 0
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
# MaxScales failed to start, exit with an error
|
||||
exit 1
|
||||
|
@ -25,11 +25,14 @@ then
|
||||
fi
|
||||
|
||||
# Start MaxScale
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale.output
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale.output || exit 1
|
||||
|
||||
# Wait for MaxScale to start
|
||||
for ((i=0;i<150;i++))
|
||||
do
|
||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && break
|
||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && exit 0
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
# MaxScale failed to start, exit with an error
|
||||
exit 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user