mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
#45 add nightly mysql build and test scripts
This commit is contained in:
parent
db170f6331
commit
1405e2b3e2
2 changed files with 117 additions and 0 deletions
66
scripts/nightly.mysql.build.and.test.bash
Executable file
66
scripts/nightly.mysql.build.and.test.bash
Executable file
|
@ -0,0 +1,66 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
function usage() {
|
||||
echo "run nightly mysql and fractal tree regressions"
|
||||
echo "uses gearman to schedule jobs onto test machines"
|
||||
}
|
||||
|
||||
# generate a script that makes a mysql release and run tests on it
|
||||
function make_and_test_mysql() {
|
||||
echo $(date) $* >>$nightlytrace 2>&1
|
||||
echo "bash -x \$HOME/github/ft-engine/scripts/tokutek.make.mysql.bash $* >>$mysqltrace 2>&1; \
|
||||
buildexitcode=\$?; \
|
||||
echo \$(date) \$HOME/github/ft-engine/scripts/tokutek.make.mysql.bash -$* \$buildexitcode >>$mysqltrace; \
|
||||
if [ \$buildexitcode -eq 0 ] ; then \$HOME/bin/test.mysql.bash $* >>/tmp/mysql.test.trace 2>&1; fi" \
|
||||
| $gearmandir/bin/gearman -b -f mysql-build-$system-$arch -h $gearmandhost -p 4730 >>$nightlytrace 2>&1
|
||||
}
|
||||
|
||||
# make a mysql release
|
||||
function make_mysql() {
|
||||
echo $(date) $* >>$nightlytrace 2>&1
|
||||
echo "\$HOME/github/ft-engine/scripts/tokutek.make.mysql.bash $* >>$mysqltrace 2>&1" | $gearmandir/bin/gearman -b -f mysql-build-$system-$arch -h $gearmandhost -p 4730 >>$nightlytrace 2>&1
|
||||
}
|
||||
|
||||
# setup the PATH since cron gives us a minimal PATH
|
||||
PATH=$HOME/bin:$HOME/usr/local/bin:/usr/local/bin:$PATH
|
||||
source /etc/profile
|
||||
|
||||
github_token=PUT_TOKEN_HERE
|
||||
gearmandhost=localhost
|
||||
gearmandir=/usr/local/gearmand-1.1.6
|
||||
system=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||
arch=$(uname -m | tr '[:upper:]' '[:lower:]')
|
||||
now_ts=$(date +%s)
|
||||
cc=gcc47
|
||||
cxx=g++47
|
||||
ftcc=$cc
|
||||
ftcxx=$cxx
|
||||
|
||||
while [ $# -gt 0 ] ; do
|
||||
arg=$1; shift
|
||||
if [[ $arg =~ --(.*)=(.*) ]] ; then
|
||||
eval ${BASH_REMATCH[1]}=${BASH_REMATCH[2]}
|
||||
else
|
||||
usage; exit 1;
|
||||
fi
|
||||
done
|
||||
|
||||
nightlytrace=/tmp/$(whoami).nightly.trace
|
||||
mysqltrace=/tmp/$(whoami).mysql.build.trace.$now_ts
|
||||
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mysql-5.5.30-tokudb-${now_ts}-e-${system}-${arch}
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mysql-5.5.30-tokudb-${now_ts}-debug-e-${system}-${arch}
|
||||
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mariadb-5.5.30-tokudb-${now_ts}-${system}-${arch}
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mariadb-5.5.30-tokudb-${now_ts}-debug-${system}-${arch}
|
||||
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mysql-5.6.10-tokudb-${now_ts}-${system}-${arch}
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mysql-5.6.10-tokudb-${now_ts}-debug-${system}-${arch}
|
||||
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mariadb-5.5.30-tokudb-${now_ts}-e-${system}-${arch}
|
||||
make_and_test_mysql --github_token=$github_token --mysqlbuild=mariadb-5.5.30-tokudb-${now_ts}-debug-e-${system}-${arch}
|
||||
|
||||
# build a test the head of the releases/tokudb-7.0 branch
|
||||
# make_and_test_mysql --github_use_ssh=1 --mysqlbuild=mysql-5.5.30-tokudb-${now_ts}-70-${system}-${arch} --mysql_tree=releases/tokudb-7.0 --ftengine_tree=releases/tokudb-7.0 --ftindex_tree=releases/tokudb-7.0 --tests=run.mysql.tests.bash:run.sql.bench.bash
|
||||
|
||||
exit 0
|
51
scripts/test.mysql.bash
Executable file
51
scripts/test.mysql.bash
Executable file
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
function usage() {
|
||||
echo "run the mysql tests"
|
||||
echo "--mysqlbuild=$mysqlbuild --tests=$tests"
|
||||
}
|
||||
|
||||
function expand() {
|
||||
echo $* | tr ,: " "
|
||||
}
|
||||
|
||||
mysqlbuild=
|
||||
mysqlsocket=/tmp/mysql.sock
|
||||
gearmandir=/usr/local/gearmand-1.1.6
|
||||
gearmandhost=localhost
|
||||
system=$(uname -s | tr [:upper:] [:lower:])
|
||||
arch=$(uname -m | tr [:upper:] [:lower:])
|
||||
tests=run.mysql.tests.bash
|
||||
|
||||
while [ $# -gt 0 ] ; do
|
||||
arg=$1; shift
|
||||
if [[ $arg =~ --(.*)=(.*) ]] ; then
|
||||
eval ${BASH_REMATCH[1]}=${BASH_REMATCH[2]}
|
||||
else
|
||||
usage; exit 1;
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -z $mysqlbuild ] ; then exit 1; fi
|
||||
|
||||
for testname in $(expand $tests) ; do
|
||||
if [ $testname = "run.mysql.tests.bash" ] ; then
|
||||
run_mysqld=0
|
||||
else
|
||||
run_mysqld=1
|
||||
fi
|
||||
if [ $run_mysqld = 0 ] ; then
|
||||
setupextra="--shutdown=1 --install=1 --startup=0"
|
||||
else
|
||||
setupextra="--shutdown=1 --install=1 --startup=1"
|
||||
fi
|
||||
echo "echo \$(date) $mysqlbuild >>/tmp/$(whoami).$testname.trace 2>&1; \
|
||||
\$HOME/bin/setup.mysql.bash --mysqlbuild=$mysqlbuild $setupextra >>/tmp/$(whoami).$testname.trace 2>&1; \
|
||||
testexitcode=\$?; \
|
||||
echo \$(date) $mysqlbuild \$testexitcode >>/tmp/$(whoami).$testname.trace 2>&1; \
|
||||
if [ \$testexitcode -ne 0 ] ; then exit 1; fi; \
|
||||
\$HOME/bin/$testname --mysqlbuild=$mysqlbuild --commit=1 >>/tmp/$(whoami).$testname.trace 2>&1; \
|
||||
if [ $run_mysqld != 0 ] ; then mysqladmin -S$mysqlsocket shutdown; fi" | $gearmandir/bin/gearman -b -f mysql-test-$system-$arch -h $gearmandhost -p 4730
|
||||
done
|
||||
|
||||
exit 0
|
Loading…
Reference in a new issue