mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
client/mysqlmanagerc.c
added support for quiet increased line buffer size client/mysqltest.c fixed memory leak added query logging to result file added error message logging to result file added enable_query_log/disable_query_log mysql-test/mysql-test-run.sh converted tests to use mysqlmanager Updated test results
This commit is contained in:
@ -98,7 +98,8 @@ MYSQL_TEST_DIR=$BASEDIR/mysql-test
|
||||
export MYSQL_TEST_DIR
|
||||
STD_DATA=$MYSQL_TEST_DIR/std_data
|
||||
hostname=`hostname` # Installed in the mysql privilege table
|
||||
|
||||
|
||||
MANAGER_QUIET_OPT="-q"
|
||||
TESTDIR="$MYSQL_TEST_DIR/t"
|
||||
TESTSUFFIX=test
|
||||
TOT_SKIP=0
|
||||
@ -119,6 +120,9 @@ MASTER_MYPORT=9306
|
||||
SLAVE_RUNNING=0
|
||||
SLAVE_MYPORT=9307
|
||||
MYSQL_MANAGER_PORT=23546
|
||||
MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd
|
||||
MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log
|
||||
MYSQL_MANAGER_USER=root
|
||||
NO_SLAVE=0
|
||||
|
||||
EXTRA_MASTER_OPT=""
|
||||
@ -131,11 +135,14 @@ DO_CLIENT_GDB=""
|
||||
SLEEP_TIME=2
|
||||
CHARACTER_SET=latin1
|
||||
DBUSER=""
|
||||
START_WAIT_TIMEOUT=3
|
||||
STOP_WAIT_TIMEOUT=3
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;;
|
||||
--force) FORCE=1 ;;
|
||||
--verbose-manager) MANAGER_QUIET_OPT="" ;;
|
||||
--local) USE_RUNNING_SERVER="" ;;
|
||||
--tmpdir=*) MYSQL_TMP_DIR=`$ECHO "$1" | $SED -e "s;--tmpdir=;;"` ;;
|
||||
--master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;;
|
||||
@ -158,6 +165,9 @@ while test $# -gt 0; do
|
||||
--skip-rpl) NO_SLAVE=1 ;;
|
||||
--skip-test=*) SKIP_TEST=`$ECHO "$1" | $SED -e "s;--skip-test=;;"`;;
|
||||
--do-test=*) DO_TEST=`$ECHO "$1" | $SED -e "s;--do-test=;;"`;;
|
||||
--wait-timeout=*)
|
||||
START_WAIT_TIMEOUT=`$ECHO "$1" | $SED -e "s;--wait-timeout=;;"`
|
||||
STOP_WAIT_TIMEOUT=$START_WAIT_TIMEOUT;;
|
||||
--record)
|
||||
RECORD=1;
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;;
|
||||
@ -187,6 +197,8 @@ while test $# -gt 0; do
|
||||
DO_GPROF=1
|
||||
;;
|
||||
--gdb )
|
||||
START_WAIT_TIMEOUT=300
|
||||
STOP_WAIT_TIMEOUT=300
|
||||
if [ x$BINARY_DIST = x1 ] ; then
|
||||
$ECHO "Note: you will get more meaningful output on a source distribution compiled with debugging option when running tests with --gdb option"
|
||||
fi
|
||||
@ -337,6 +349,7 @@ GPROF_MASTER=$GPROF_DIR/master.gprof
|
||||
GPROF_SLAVE=$GPROF_DIR/slave.gprof
|
||||
TIMEFILE="$MYSQL_TMP_DIR/mysqltest-time"
|
||||
SLAVE_MYSQLD=$MYSQLD #this can be changed later if we are doing gcov
|
||||
XTERM=`which xterm`
|
||||
|
||||
#++
|
||||
# Function Definitions
|
||||
@ -503,21 +516,48 @@ abort_if_failed()
|
||||
|
||||
start_manager()
|
||||
{
|
||||
MYSQL_MANAGER_PW=`$MYSQL_MANAGER_PWGEN -o $MYSQL_MANAGER_PW_FILE`
|
||||
MYSQL_MANAGER_PW=`$MYSQL_MANAGER_PWGEN -u $MYSQL_MANAGER_USER \
|
||||
-o $MYSQL_MANAGER_PW_FILE`
|
||||
$MYSQL_MANAGER --log=$MYSQL_MANAGER_LOG --port=$MYSQL_MANAGER_PORT \
|
||||
--password-file=$MYSQL_MANAGER_PW_FILE
|
||||
abort_if_failed "Could not start MySQL manager"
|
||||
}
|
||||
|
||||
manager_cmd()
|
||||
stop_manager()
|
||||
{
|
||||
$MYSQL_MANAGER_CLIENT --user=$MYSQL_MANAGER_USER \
|
||||
$MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT -u$MYSQL_MANAGER_USER \
|
||||
-p$MYSQL_MANAGER_PW -P $MYSQL_MANAGER_PORT <<EOF
|
||||
shutdown
|
||||
EOF
|
||||
}
|
||||
|
||||
manager_launch()
|
||||
{
|
||||
ident=$1
|
||||
shift
|
||||
$MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \
|
||||
--password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT <<EOF
|
||||
$@
|
||||
def_exec $ident $@
|
||||
set_exec_stdout $ident $CUR_MYERR
|
||||
set_exec_stderr $ident $CUR_MYERR
|
||||
set_exec_con $ident root localhost $CUR_MYSOCK
|
||||
start_exec $ident $START_WAIT_TIMEOUT
|
||||
EOF
|
||||
abort_if_failed "Could not execute manager command"
|
||||
}
|
||||
|
||||
manager_term()
|
||||
{
|
||||
ident=$1
|
||||
shift
|
||||
$MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \
|
||||
--password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT <<EOF
|
||||
stop_exec $ident $TERM_WAIT_TIMEOUT
|
||||
EOF
|
||||
abort_if_failed "Could not execute manager command"
|
||||
}
|
||||
|
||||
|
||||
start_master()
|
||||
{
|
||||
[ x$MASTER_RUNNING = 1 ] && return
|
||||
@ -564,21 +604,24 @@ start_master()
|
||||
--innodb_data_file_path=ibdata1:50M \
|
||||
$SMALL_SERVER \
|
||||
$EXTRA_MASTER_OPT $EXTRA_MASTER_MYSQLD_OPT"
|
||||
fi
|
||||
fi
|
||||
|
||||
CUR_MYERR=$MASTER_MYERR
|
||||
CUR_MYSOCK=$MASTER_MYSOCK
|
||||
|
||||
if [ x$DO_DDD = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_MASTER_INIT
|
||||
ddd --debugger "gdb -x $GDB_MASTER_INIT" $MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the master"
|
||||
manager_launch master ddd -display $DISPLAY --debugger \
|
||||
"gdb -x $GDB_MASTER_INIT" $MYSQLD
|
||||
elif [ x$DO_GDB = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_MASTER_INIT
|
||||
xterm -title "Master" -e gdb -x $GDB_MASTER_INIT $MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the master"
|
||||
manager_launch master $XTERM -display :0 -title "Master" -e gdb -x \
|
||||
$GDB_MASTER_INIT $MYSQLD
|
||||
else
|
||||
$MYSQLD $master_args >> $MASTER_MYERR 2>&1 &
|
||||
manager_launch master $MYSQLD $master_args
|
||||
fi
|
||||
wait_for_server_start $MASTER_MYPORT
|
||||
MASTER_RUNNING=1
|
||||
}
|
||||
|
||||
@ -607,7 +650,7 @@ start_slave()
|
||||
$RM -f $SLAVE_MYDDIR/log.*
|
||||
slave_args="--no-defaults $master_info \
|
||||
--exit-info=256 \
|
||||
--log-bin=$MYSQL_TEST_DIR/var/log/slave-bin
|
||||
--log-bin=$MYSQL_TEST_DIR/var/log/slave-bin \
|
||||
--log-slave-updates \
|
||||
--basedir=$MY_BASEDIR \
|
||||
--datadir=$SLAVE_MYDDIR \
|
||||
@ -626,20 +669,22 @@ start_slave()
|
||||
--report-port=$SLAVE_MYPORT \
|
||||
$SMALL_SERVER \
|
||||
$EXTRA_SLAVE_OPT $EXTRA_SLAVE_MYSQLD_OPT"
|
||||
CUR_MYERR=$SLAVE_MYERR
|
||||
CUR_MYSOCK=$SLAVE_MYSOCK
|
||||
|
||||
if [ x$DO_DDD = x1 ]
|
||||
then
|
||||
$ECHO "set args $master_args" > $GDB_SLAVE_INIT
|
||||
ddd --debugger "gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the slave"
|
||||
manager_launch slave ddd -display $DISPLAY --debugger \
|
||||
"gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD
|
||||
elif [ x$DO_GDB = x1 ]
|
||||
then
|
||||
$ECHO "set args $slave_args" > $GDB_SLAVE_INIT
|
||||
xterm -title "Slave" -e gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD &
|
||||
prompt_user "Hit enter to continue after you've started the slave"
|
||||
manager_launch slave $XTERM -display $DISPLAY -title "Slave" -e gdb -x \
|
||||
$GDB_SLAVE_INIT $SLAVE_MYSQLD
|
||||
else
|
||||
$SLAVE_MYSQLD $slave_args >> $SLAVE_MYERR 2>&1 &
|
||||
manager_launch slave $SLAVE_MYSQLD $slave_args
|
||||
fi
|
||||
wait_for_server_start $SLAVE_MYPORT
|
||||
SLAVE_RUNNING=1
|
||||
}
|
||||
|
||||
@ -655,7 +700,7 @@ stop_slave ()
|
||||
{
|
||||
if [ x$SLAVE_RUNNING = x1 ]
|
||||
then
|
||||
$MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O shutdown_timeout=10 shutdown
|
||||
manager_term slave
|
||||
if [ $? != 0 ] && [ -f $SLAVE_MYPID ]
|
||||
then # try harder!
|
||||
$ECHO "slave not cooperating with mysqladmin, will try manual kill"
|
||||
@ -677,7 +722,7 @@ stop_master ()
|
||||
{
|
||||
if [ x$MASTER_RUNNING = x1 ]
|
||||
then
|
||||
$MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root -O shutdown_timeout=10 shutdown
|
||||
manager_term master
|
||||
if [ $? != 0 ] && [ -f $MASTER_MYPID ]
|
||||
then # try harder!
|
||||
$ECHO "master not cooperating with mysqladmin, will try manual kill"
|
||||
@ -862,6 +907,7 @@ run_testcase ()
|
||||
if [ -z "$DO_GDB" ] && [ -z "$USE_RUNNING_SERVER" ] && [ -z "$DO_DDD" ]
|
||||
then
|
||||
mysql_stop
|
||||
stop_manager
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
@ -894,7 +940,8 @@ then
|
||||
$MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 shutdown > /dev/null 2>&1
|
||||
$ECHO "Installing Test Databases"
|
||||
mysql_install_db
|
||||
|
||||
$ECHO "Starting MySQL Manager"
|
||||
start_manager
|
||||
#do not automagically start deamons if we are in gdb or running only one test
|
||||
#case
|
||||
if [ -z "$DO_GDB" ] && [ -z "$DO_DDD" ]
|
||||
@ -926,10 +973,10 @@ then
|
||||
fi
|
||||
cd $savedir
|
||||
mysql_stop
|
||||
stop_manager
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
$ECHO
|
||||
$ECHO " TEST USER SYSTEM ELAPSED RESULT"
|
||||
$ECHO $DASH72
|
||||
@ -963,6 +1010,7 @@ then
|
||||
mysql_stop
|
||||
fi
|
||||
|
||||
stop_manager
|
||||
report_stats
|
||||
$ECHO
|
||||
|
||||
|
Reference in New Issue
Block a user