
The test can now be run outside of the test source directory. Since the `test_dir` global variable contains the absolute path to the test source, all copying of configurations and execution of scripts can be done with minimal changes.
103 lines
2.9 KiB
Bash
Executable File
103 lines
2.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# see set_run_test_variables.sh for default values of all variables
|
|
|
|
# $box - Name of Vagrant box for Maxscale machine
|
|
# see lists of supported boxes
|
|
# https://github.com/mariadb-corporation/mdbci/tree/integration/BOXES
|
|
|
|
# $template - name of MDBCI json template file
|
|
# Template file have to be in ./templates/, file name
|
|
# have to be '$template.json.template
|
|
# Template file can contain references to any variables -
|
|
# all ${variable_name} will be replaced with values
|
|
|
|
# $name - name of test run. It can be any string of leytters or digits
|
|
# If it is not defined, name will be automatically genereted
|
|
# using $box and current date and time
|
|
|
|
# $ci_url - URL to Maxscale CI repository
|
|
# (default "http://max-tst-01.mariadb.com/ci-repository/")
|
|
# if build is done also locally and binaries are not uploaded to
|
|
# max-tst-01.mariadb.com $ci_url should toint to local web server
|
|
# e.g. http://192.168.122.1/repository (IP should be a host IP in the
|
|
# virtual network (not 127.0.0.1))
|
|
|
|
# $product - 'mariadb' or 'mysql'
|
|
|
|
# $version - version of backend DB (e.g. '10.1', '10.2')
|
|
|
|
# $galera_version - version of Galera backend DB
|
|
# same as $version by default
|
|
|
|
# $target - name of binary repository
|
|
# (name of subdirectroy http://max-tst-01.mariadb.com/ci-repository/)
|
|
|
|
# $team_keys - path to the file with open ssh keys to be
|
|
# installed on all VMs (default ${HOME}/team_keys)
|
|
|
|
# $don_not_destroy_vm - if 'yes' VM won't be destored afther the test
|
|
|
|
# $test_set - parameters to be send to 'ctest' (e.g. '-I 1,100',
|
|
# '-LE UNSTABLE'
|
|
|
|
export vm_memory=${vm_memory:-"2048"}
|
|
export dir=`pwd`
|
|
|
|
ulimit -n
|
|
|
|
# read the name of build scripts directory
|
|
export script_dir="$(dirname $(readlink -f $0))"
|
|
|
|
. ${script_dir}/set_run_test_variables.sh
|
|
|
|
rm -rf LOGS
|
|
|
|
export target=`echo $target | sed "s/?//g"`
|
|
export name=`echo $name | sed "s/?//g"`
|
|
|
|
. ${script_dir}/configure_log_dir.sh
|
|
|
|
${script_dir}/create_config.sh
|
|
res=$?
|
|
|
|
ulimit -c unlimited
|
|
if [ $res == 0 ] ; then
|
|
. ${script_dir}/set_env.sh $name
|
|
cd ${script_dir}/..
|
|
mkdir build && cd build
|
|
cmake .. -DBUILDNAME=$name -DCMAKE_BUILD_TYPE=Debug
|
|
make
|
|
|
|
if [ ! -z "${named_test}" ] ; then
|
|
./${named_test}
|
|
else
|
|
./check_backend
|
|
if [ $? != 0 ]; then
|
|
echo "Backend broken!"
|
|
if [ "${do_not_destroy_vm}" != "yes" ] ; then
|
|
${mdbci_dir}/mdbci destroy $name
|
|
fi
|
|
rm ~/vagrant_lock
|
|
exit 1
|
|
fi
|
|
${mdbci_dir}/mdbci snapshot take --path-to-nodes $name --snapshot-name clean
|
|
ctest -VV -D Nightly ${test_set}
|
|
fi
|
|
cp core.* ${logs_publish_dir}
|
|
${script_dir}/copy_logs.sh
|
|
cd $dir
|
|
else
|
|
echo "Failed to create VMs, exiting"
|
|
if [ "${do_not_destroy_vm}" != "yes" ] ; then
|
|
${mdbci_dir}/mdbci destroy $name
|
|
fi
|
|
rm ~/vagrant_lock
|
|
exit 1
|
|
fi
|
|
|
|
if [ "${do_not_destroy_vm}" != "yes" ] ; then
|
|
${mdbci_dir}/mdbci destroy $name
|
|
echo "clean up done!"
|
|
fi
|