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 BitKeeper/etc/ignore: added *.reject 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 mysql-test/r/alias.result: log queries mysql-test/r/alter_table.result: log queries mysql-test/r/analyse.result: log queries mysql-test/r/auto_increment.result: log queries mysql-test/r/backup.result: log queries mysql-test/r/bdb-crash.result: log queries mysql-test/r/bench_count_distinct.result: log queries mysql-test/r/bigint.result: log queries mysql-test/r/binary.result: log queries mysql-test/r/bulk_replace.result: log queries mysql-test/r/case.result: log queries mysql-test/r/check.result: log queries mysql-test/r/comments.result: log queries mysql-test/r/compare.result: log queries mysql-test/r/count_distinct.result: log queries mysql-test/r/count_distinct2.result: log queries mysql-test/r/create.result: log queries mysql-test/r/ctype_latin1_de.result: log queries mysql-test/r/delayed.result: log queries mysql-test/r/dirty-close.result: log queries mysql-test/r/distinct.result: log queries mysql-test/r/drop.result: log queries mysql-test/r/empty_table.result: log queries mysql-test/r/explain.result: log queries mysql-test/r/flush.result: log queries mysql-test/r/fulltext.result: log queries mysql-test/r/fulltext_cache.result: log queries mysql-test/r/fulltext_distinct.result: log queries mysql-test/r/fulltext_left_join.result: log queries mysql-test/r/fulltext_multi.result: log queries mysql-test/r/fulltext_order_by.result: log queries mysql-test/r/fulltext_update.result: log queries mysql-test/r/fulltext_var.result: log queries mysql-test/r/func_crypt.result: log queries mysql-test/r/func_date_add.result: log queries mysql-test/r/func_equal.result: log queries mysql-test/r/func_group.result: log queries mysql-test/r/func_in.result: log queries mysql-test/r/func_like.result: log queries mysql-test/r/func_math.result: log queries mysql-test/r/func_misc.result: log queries mysql-test/r/func_op.result: log queries mysql-test/r/func_regexp.result: log queries mysql-test/r/func_set.result: log queries mysql-test/r/func_str.result: log queries mysql-test/r/func_system.result: log queries mysql-test/r/func_test.result: log queries mysql-test/r/func_time.result: log queries mysql-test/r/func_timestamp.result: log queries mysql-test/r/group_by.result: log queries mysql-test/r/handler.result: log queries mysql-test/r/having.result: log queries mysql-test/r/heap.result: log queries mysql-test/r/identity.result: log queries mysql-test/r/ins000001.result: log queries mysql-test/r/insert.result: log queries mysql-test/r/insert_select.result: log queries mysql-test/r/isam.result: log queries mysql-test/r/join.result: log queries mysql-test/r/join_crash.result: log queries mysql-test/r/join_outer.result: log queries mysql-test/r/key.result: log queries mysql-test/r/key_diff.result: log queries mysql-test/r/key_primary.result: log queries mysql-test/r/keywords.result: log queries mysql-test/r/kill.result: log queries mysql-test/r/limit.result: log queries mysql-test/r/lock.result: log queries mysql-test/r/merge.result: log queries mysql-test/r/multi_update.result: log queries mysql-test/r/myisam.result: log queries mysql-test/r/null.result: log queries mysql-test/r/null_key.result: log queries mysql-test/r/odbc.result: log queries mysql-test/r/openssl_1.result: log queries mysql-test/r/openssl_2.result: log queries mysql-test/r/order_by.result: log queries mysql-test/r/order_fill_sortbuf.result: log queries mysql-test/r/raid.result: log queries mysql-test/r/range.result: log queries mysql-test/r/rename.result: log queries mysql-test/r/replace.result: log queries mysql-test/r/rollback.result: log queries mysql-test/r/rpl000001.result: log queries mysql-test/r/rpl000002.result: log queries mysql-test/r/rpl000003.result: log queries mysql-test/r/rpl000004.result: log queries mysql-test/r/rpl000005.result: log queries mysql-test/r/rpl000006.result: log queries mysql-test/r/rpl000007.result: log queries mysql-test/r/rpl000008.result: log queries mysql-test/r/rpl000009.result: log queries mysql-test/r/rpl000010.result: log queries mysql-test/r/rpl000011.result: log queries mysql-test/r/rpl000012.result: log queries mysql-test/r/rpl000013.result: log queries mysql-test/r/rpl000014.result: log queries mysql-test/r/rpl000015.result: log queries mysql-test/r/rpl000016.result: log queries mysql-test/r/rpl000017.result: log queries mysql-test/r/rpl000018.result: log queries mysql-test/r/rpl_get_lock.result: log queries mysql-test/r/rpl_log.result: log queries mysql-test/r/rpl_magic.result: log queries mysql-test/r/rpl_mystery22.result: log queries mysql-test/r/rpl_sporadic_master.result: log queries mysql-test/r/sel000001.result: log queries mysql-test/r/sel000002.result: log queries mysql-test/r/sel000003.result: log queries mysql-test/r/sel000031.result: log queries mysql-test/r/sel000032.result: log queries mysql-test/r/sel000033.result: log queries mysql-test/r/sel000100.result: log queries mysql-test/r/select.result: log queries mysql-test/r/select_found.result: log queries mysql-test/r/select_safe.result: log queries mysql-test/r/show_check.result: log queries mysql-test/r/slave-running.result: log queries mysql-test/r/slave-stopped.result: log queries mysql-test/r/status.result: log queries mysql-test/r/symlink.result: log queries mysql-test/r/tablelock.result: log queries mysql-test/r/temp_table.result: log queries mysql-test/r/truncate.result: log queries mysql-test/r/type_blob.result: log queries mysql-test/r/type_date.result: log queries mysql-test/r/type_datetime.result: log queries mysql-test/r/type_decimal.result: log queries mysql-test/r/type_enum.result: log queries mysql-test/r/type_float.result: log queries mysql-test/r/type_ranges.result: log queries mysql-test/r/type_time.result: log queries mysql-test/r/type_timestamp.result: log queries mysql-test/r/type_uint.result: log queries mysql-test/r/type_year.result: log queries mysql-test/r/union.result: log queries mysql-test/r/update.result: log queries mysql-test/r/user_var.result: log queries mysql-test/r/varbinary.result: log queries mysql-test/r/variables.result: log queries mysql-test/t/bench_count_distinct.test: log queries mysql-test/t/check.test: log queries mysql-test/t/count_distinct2.test: log queries mysql-test/t/flush.test: log queries mysql-test/t/isam.test: log queries mysql-test/t/multi_update.test: log queries mysql-test/t/myisam.test: log queries mysql-test/t/order_fill_sortbuf.test: log queries mysql-test/t/rpl000016.test: log queries tools/managertest1.nc: test for def_exec overwrite tools/mysqlmanager.c: support def_exec overwrite and queries on running server
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