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:
@ -16,6 +16,22 @@ if [[ "$cmake_flags" =~ "BUILD_TESTS" ]]
|
|||||||
then
|
then
|
||||||
# All tests must pass otherwise the build is considered a failure
|
# All tests must pass otherwise the build is considered a failure
|
||||||
ctest --output-on-failure || exit 1
|
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
|
fi
|
||||||
|
|
||||||
# Never strip binaries
|
# Never strip binaries
|
||||||
|
@ -86,6 +86,14 @@ else
|
|||||||
|
|
||||||
# Enable it by default
|
# Enable it by default
|
||||||
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bashrc
|
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
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -84,7 +84,17 @@ do
|
|||||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null && break
|
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null && break
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
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
|
done
|
||||||
|
|
||||||
# Go to the test directory
|
# Go to the test directory
|
||||||
|
@ -35,21 +35,20 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Start MaxScale
|
# Start MaxScale
|
||||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output
|
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output || exit 1
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# Start a second maxscale
|
# 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++))
|
for ((i=0;i<150;i++))
|
||||||
do
|
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
|
sleep 0.1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# MaxScales failed to start, exit with an error
|
||||||
|
exit 1
|
||||||
|
@ -25,11 +25,14 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Start MaxScale
|
# 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
|
# Wait for MaxScale to start
|
||||||
for ((i=0;i<150;i++))
|
for ((i=0;i<150;i++))
|
||||||
do
|
do
|
||||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && break
|
$maxscaledir/bin/maxctrl list servers >& /dev/null && exit 0
|
||||||
sleep 0.1
|
sleep 0.1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# MaxScale failed to start, exit with an error
|
||||||
|
exit 1
|
||||||
|
Reference in New Issue
Block a user