mirror of
https://github.com/MariaDB/server.git
synced 2025-07-11 15:22:09 +03:00

run-all-tests mysql-test -> mysqltest README mysql-test -> mysqltest Makefile.am Retargetted mysql-test to mysqltest. .del-mysql-test.c Delete: client/mysql-test.c mysql-test-run Added program definitions. mysqltest.c BitKeeper file /home/mwagner/work/bk/mysql/client/mysqltest.c
270 lines
4.7 KiB
Bash
Executable File
270 lines
4.7 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
#++
|
|
# Access Definitions
|
|
#--
|
|
DB=test
|
|
USER=test
|
|
PASSWD=
|
|
|
|
#++
|
|
# Misc. Definitions
|
|
#--
|
|
CWD=`pwd`
|
|
cd ..
|
|
BASEDIR=`pwd`
|
|
cd $CWD
|
|
MYBIN="$CWD/mybin"
|
|
TESTVER=3.23
|
|
TESTDIR="$CWD/t/$TESTVER"
|
|
TESTSUFFIX=test
|
|
TOT_PASS=0
|
|
TOT_FAIL=0
|
|
TOT_TEST=0
|
|
TIME_FORMAT='%U\t%S\t%E\t%P'
|
|
DASHBLANK="----\t----\t-------\t----"
|
|
|
|
[ -z $COLUMNS ] && COLUMNS=80
|
|
E=`expr $COLUMNS - 8`
|
|
C=0
|
|
|
|
while [ $C != $E ]
|
|
do
|
|
DASH72="${DASH72}-"
|
|
C=`expr $C + 1`
|
|
done
|
|
|
|
#++
|
|
# mysqld Environment Parameters
|
|
#--
|
|
MYPORT=9306
|
|
MYDDIR="$CWD/var/lib"
|
|
MYSOCK="$CWD/var/tmp/mysql.sock"
|
|
MYPID="$CWD/var/run/mysqld.pid"
|
|
MYLOG="$CWD/var/log/mysqld.log"
|
|
MYERR="$CWD/var/log/mysqld.err"
|
|
|
|
#++
|
|
# Program Definitions
|
|
#--
|
|
ECHO=/bin/echo
|
|
EXPR=/usr/bin/expr
|
|
PRINTF=/usr/bin/printf
|
|
TIME=/usr/bin/time
|
|
MYSQLD="$BASEDIR/sql/mysqld"
|
|
MYSQL_TEST="$BASEDIR/client/mysqltest"
|
|
MYSQLADMIN="$BASEDIR/client/mysqladmin"
|
|
MYSQL_TEST="$MYSQL_TEST --socket=$MYSOCK --database=$DB --user=$USER --password=$PASSWD --silent"
|
|
INSTALL_DB="$MYBIN/mysql-test_install_db"
|
|
|
|
|
|
#++
|
|
# Terminal Modifications
|
|
#--
|
|
MOVE_TO_COL="$ECHO -en \\033[300C\\033[20D"
|
|
SETCOLOR_SUCCESS="$ECHO -en \\033[1;32m"
|
|
SETCOLOR_FAILURE="$ECHO -en \\033[1;31m"
|
|
SETCOLOR_WARNING="$ECHO -en \\033[1;33m"
|
|
SETCOLOR_NORMAL="$ECHO -en \\033[0;39m"
|
|
|
|
|
|
|
|
#++
|
|
# Function Definitions
|
|
#--
|
|
echo_ok() {
|
|
$MOVE_TO_COL && $SETCOLOR_NORMAL
|
|
$ECHO -n "[ "
|
|
$SETCOLOR_SUCCESS
|
|
$ECHO -n "ok"
|
|
$SETCOLOR_NORMAL
|
|
$ECHO " ]"
|
|
return 0
|
|
}
|
|
|
|
echo_notok() {
|
|
$MOVE_TO_COL && $SETCOLOR_NORMAL
|
|
$ECHO -n "[ "
|
|
$SETCOLOR_FAILURE
|
|
$ECHO -n "not ok"
|
|
$SETCOLOR_NORMAL
|
|
$ECHO " ]"
|
|
return 0
|
|
}
|
|
|
|
echo_pass () {
|
|
$MOVE_TO_COL && $SETCOLOR_NORMAL
|
|
$ECHO -n "[ "
|
|
$SETCOLOR_SUCCESS
|
|
$ECHO -n "pass"
|
|
$SETCOLOR_NORMAL
|
|
$ECHO " ]"
|
|
return 0
|
|
}
|
|
|
|
echo_fail () {
|
|
$MOVE_TO_COL && $SETCOLOR_NORMAL
|
|
$ECHO -n "[ "
|
|
$SETCOLOR_FAILURE
|
|
$ECHO -n "fail"
|
|
$SETCOLOR_NORMAL
|
|
$ECHO " ]"
|
|
return 0
|
|
}
|
|
|
|
error () {
|
|
|
|
$SETCOLOR_FAILURE
|
|
$ECHO -n "Error: " && $SETCOLOR_NORMAL && $ECHO $1
|
|
$SETCOLOR_NORMAL
|
|
exit 1
|
|
}
|
|
|
|
pass_inc () {
|
|
TOT_PASS=`$EXPR $TOT_PASS + 1`
|
|
}
|
|
|
|
fail_inc () {
|
|
TOT_FAIL=`$EXPR $TOT_FAIL + 1`
|
|
}
|
|
|
|
total_inc () {
|
|
TOT_TEST=`$EXPR $TOT_TEST + 1`
|
|
}
|
|
|
|
report_stats () {
|
|
if [ $TOT_FAIL = 0 ]; then
|
|
$ECHO "All tests successful."
|
|
else
|
|
$ECHO -n "Failed ${TOT_FAIL}/${TOT_TEST} tests, "
|
|
|
|
xten=`$EXPR $TOT_PASS \* 10000` #
|
|
raw=`$EXPR $xten / $TOT_TEST` # My God
|
|
raw=`$PRINTF %.4d $raw` # This is such a ...
|
|
whole=`$PRINTF %.2s $raw` # Narttu!!
|
|
xwhole=`$EXPR $whole \* 100` # Hynda!!!
|
|
deci=`$EXPR $raw - $xwhole` #
|
|
|
|
$ECHO "${whole}.${deci}% successful."
|
|
fi
|
|
}
|
|
|
|
mysql_install_db () {
|
|
`$INSTALL_DB`
|
|
if [ $? != 0 ]; then
|
|
error "Could not install tmp DBs"
|
|
exit 1
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
mysql_start () {
|
|
|
|
`$MYSQLD --no-defaults \
|
|
--skip-networking \
|
|
--basedir=$CWD \
|
|
--datadir=$MYDDIR \
|
|
--pid-file=$MYPID \
|
|
--socket=$MYSOCK \
|
|
--log=$MYLOG \
|
|
--language=english >> $MYERR 2>&1 &`
|
|
|
|
return 1
|
|
}
|
|
|
|
mysql_stop () {
|
|
|
|
`$MYSQLADMIN --socket=$MYSOCK -u root shutdown`
|
|
|
|
return 1
|
|
}
|
|
|
|
mysql_restart () {
|
|
|
|
mysql_stop
|
|
res=$?
|
|
[ $res != 1 ] && echo_notok && error "Stopping mysqld"
|
|
|
|
mysql_start
|
|
res=$?
|
|
[ $res != 1 ] && echo_notok && error "Starting mysqld"
|
|
|
|
return 1
|
|
}
|
|
|
|
mysql_loadstd () {
|
|
|
|
sleep 2
|
|
return 1
|
|
}
|
|
|
|
|
|
mysql_install_db
|
|
|
|
$SETCOLOR_NORMAL && $ECHO -n "Starting mysqld for Testing"
|
|
mysql_start
|
|
res=$?
|
|
res=1
|
|
[ $res != 1 ] && echo_notok && error "Starting mysqld"
|
|
[ $res = 1 ] && echo_ok
|
|
|
|
$SETCOLOR_NORMAL && $ECHO -n "Loading Standard Test Database"
|
|
mysql_loadstd
|
|
res=$?
|
|
[ $res != 1 ] && echo_notok && error "Loading STD"
|
|
[ $res = 1 ] && echo_ok
|
|
|
|
$SETCOLOR_NORMAL && $ECHO -n "Starting Tests for MySQL $TESTVER Series"
|
|
$SETCOLOR_SUCCESS && echo_ok
|
|
|
|
$ECHO
|
|
$ECHO -e " TEST\t\t\tUSER\tSYSTEM\tELAPSED\t%CPU\t RESULT"
|
|
$ECHO $DASH72
|
|
|
|
for tf in $TESTDIR/*.$TESTSUFFIX
|
|
do
|
|
if [ -f $tf ] ; then
|
|
mytime=`$TIME -f $TIME_FORMAT $MYSQL_TEST < $tf 2>&1`
|
|
res=$?
|
|
|
|
tf=`basename $tf`
|
|
|
|
[ $res = 1 ] && mytime=`$ECHO -ne $mytime | cut -b 39-`
|
|
$SETCOLOR_NORMAL && $ECHO -ne "$tf\t$mytime"
|
|
[ $res = 1 ] && fail_inc && echo_fail
|
|
[ $res != 1 ] && pass_inc && echo_pass
|
|
|
|
total_inc
|
|
|
|
if [ $res != 0 ]; then
|
|
$ECHO
|
|
$SETCOLOR_NORMAL && $ECHO -ne "Restarting mysqld\t$DASHBLANK"
|
|
mysql_restart
|
|
$SETCOLOR_SUCCESS && echo_ok
|
|
$SETCOLOR_NORMAL && $ECHO -ne "Resuming Tests\t\t$DASHBLANK"
|
|
$SETCOLOR_SUCCESS && echo_ok
|
|
$ECHO
|
|
fi
|
|
fi
|
|
done
|
|
|
|
$ECHO $DASH72
|
|
$ECHO
|
|
$SETCOLOR_NORMAL && $ECHO -n "Ending Tests for MySQL $TESTVER Series"
|
|
$SETCOLOR_SUCCESS && echo_ok
|
|
|
|
$SETCOLOR_NORMAL && $ECHO -n "Shutdown mysqld"
|
|
mysql_stop
|
|
res=$?
|
|
res=1
|
|
[ $res != 1 ] && echo_notok && error "Shutdown mysqld"
|
|
[ $res = 1 ] && echo_ok
|
|
|
|
$SETCOLOR_NORMAL
|
|
|
|
$ECHO
|
|
report_stats
|
|
$ECHO
|
|
|
|
exit 0
|