diff options
Diffstat (limited to 'mysql-test/mysql-test-run.sh')
-rw-r--r-- | mysql-test/mysql-test-run.sh | 163 |
1 files changed, 33 insertions, 130 deletions
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 4485d8ca073..aad71f89ef2 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -7,6 +7,12 @@ # List of failed cases (--force) backported from 4.1 by Joerg # :-) +#echo "##################################################"; +#echo "This script is deprecated and will soon be removed"; +#echo "Use mysql-test-run.pl instead"; +#echo "##################################################"; +#echo + #++ # Access Definitions #-- @@ -238,12 +244,9 @@ MASTER_MYPORT=9306 SLAVE_RUNNING=0 SLAVE_MYHOST=127.0.0.1 SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests -MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves +MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log NDBCLUSTER_PORT=9350 NDBCLUSTER_PORT_SLAVE=9358 -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 # # To make it easier for different devs to work on the same host, @@ -257,14 +260,12 @@ MYSQL_MANAGER_USER=root # if [ -n "$MTR_BUILD_THREAD" ] ; then MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 10 + 10000` - MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2` SLAVE_MYPORT=`expr $MASTER_MYPORT + 3` NDBCLUSTER_PORT=`expr $MASTER_MYPORT + 6` NDBCLUSTER_PORT_SLAVE=`expr $MASTER_MYPORT + 7` echo "Using MTR_BUILD_THREAD = $MTR_BUILD_THREAD" echo "Using MASTER_MYPORT = $MASTER_MYPORT" - echo "Using MYSQL_MANAGER_PORT = $MYSQL_MANAGER_PORT" echo "Using SLAVE_MYPORT = $SLAVE_MYPORT" echo "Using NDBCLUSTER_PORT = $NDBCLUSTER_PORT" echo "Using NDBCLUSTER_PORT_SLAVE = $NDBCLUSTER_PORT_SLAVE" @@ -330,6 +331,8 @@ STRESS_INIT_FILE="" STRESS_TEST_FILE="" STRESS_TEST="" +$ECHO "Logging: $0 $*" # To ensure we see all arguments in the output, for the test analysis tool + while test $# -gt 0; do case "$1" in --embedded-server) @@ -347,7 +350,6 @@ while test $# -gt 0; do --user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;; --force) FORCE=1 ;; --timer) USE_TIMER=1 ;; - --verbose-manager) MANAGER_QUIET_OPT="" ;; --old-master) MASTER_40_ARGS="";; --master-binary=*) MASTER_MYSQLD=`$ECHO "$1" | $SED -e "s;--master-binary=;;"` ;; @@ -393,7 +395,6 @@ while test $# -gt 0; do LOCAL_MASTER=1 ;; --master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;; --slave_port=*) SLAVE_MYPORT=`$ECHO "$1" | $SED -e "s;--slave_port=;;"` ;; - --manager-port=*) MYSQL_MANAGER_PORT=`$ECHO "$1" | $SED -e "s;--manager_port=;;"` ;; --ndbcluster_port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster_port=;;"` ;; --ndbcluster-port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster-port=;;"` ;; --ndbcluster-port-slave=*) NDBCLUSTER_PORT_SLAVE=`$ECHO "$1" | $SED -e "s;--ndbcluster-port-slave=;;"` ;; @@ -409,11 +410,6 @@ while test $# -gt 0; do MYSQL_TEST_SSL_OPTS="--ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem \ --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem \ --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem" ;; - --no-manager | --skip-manager) USE_MANAGER=0 ;; - --manager) - USE_MANAGER=1 - USE_RUNNING_SERVER=0 - ;; --start-and-exit) START_AND_EXIT=1 ;; @@ -631,7 +627,6 @@ fi #-- MYRUN_DIR=$MYSQL_TEST_DIR/var/run -MANAGER_PID_FILE="$MYRUN_DIR/manager.pid" MASTER_MYDDIR="$MYSQL_TEST_DIR/var/master-data" MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock" @@ -745,9 +740,6 @@ if [ x$SOURCE_DIST = x1 ] ; then MYSQLADMIN="$CLIENT_BINDIR/mysqladmin" WAIT_PID="$BASEDIR/extra/mysql_waitpid" MYSQL_MY_PRINT_DEFAULTS="$BASEDIR/extra/my_print_defaults" - MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqltestmanagerc" - MYSQL_MANAGER="$BASEDIR/tools/mysqltestmanager" - MYSQL_MANAGER_PWGEN="$CLIENT_BINDIR/mysqltestmanager-pwgen" MYSQL="$CLIENT_BINDIR/mysql" LANGUAGE="$BASEDIR/sql/share/english/" CHARSETSDIR="$BASEDIR/sql/share/charsets" @@ -808,9 +800,6 @@ else MYSQLADMIN="$CLIENT_BINDIR/mysqladmin" WAIT_PID="$CLIENT_BINDIR/mysql_waitpid" MYSQL_MY_PRINT_DEFAULTS="$CLIENT_BINDIR/my_print_defaults" - MYSQL_MANAGER="$CLIENT_BINDIR/mysqltestmanager" - MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqltestmanagerc" - MYSQL_MANAGER_PWGEN="$CLIENT_BINDIR/mysqltestmanager-pwgen" MYSQL="$CLIENT_BINDIR/mysql" INSTALL_DB="./install_test_db --bin" MYSQL_FIX_SYSTEM_TABLES="$CLIENT_BINDIR/mysql_fix_privilege_tables" @@ -1200,96 +1189,28 @@ abort_if_failed() fi } -start_manager() -{ - if [ $USE_MANAGER = 0 ] ; then - echo "Manager disabled, skipping manager start." - $RM -f $MYSQL_MANAGER_LOG - return - fi - $ECHO "Starting MySQL Manager" - if [ -f "$MANAGER_PID_FILE" ] ; then - kill `cat $MANAGER_PID_FILE` - sleep 1 - if [ -f "$MANAGER_PID_FILE" ] ; then - kill -9 `cat $MANAGER_PID_FILE` - sleep 1 - fi - fi - - $RM -f $MANAGER_PID_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 --pid-file=$MANAGER_PID_FILE - abort_if_failed "Could not start MySQL manager" - mysqltest_manager_args="--manager-host=localhost \ - --manager-user=$MYSQL_MANAGER_USER \ - --manager-password=$MYSQL_MANAGER_PW \ - --manager-port=$MYSQL_MANAGER_PORT \ - --manager-wait-timeout=$START_WAIT_TIMEOUT" - MYSQL_TEST="$MYSQL_TEST $mysqltest_manager_args" - MYSQL_TEST_ARGS="$MYSQL_TEST_ARGS $mysqltest_manager_args" - while [ ! -f $MANAGER_PID_FILE ] ; do - sleep 1 - done - echo "Manager started" -} - -stop_manager() -{ - if [ $USE_MANAGER = 0 ] ; then - return - fi - $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT -u$MYSQL_MANAGER_USER \ - -p$MYSQL_MANAGER_PW -P $MYSQL_MANAGER_PORT <<EOF -shutdown -EOF - echo "Manager terminated" - -} - -manager_launch() +launch_in_background() { - ident=$1 shift - if [ $USE_MANAGER = 0 ] ; then - echo $@ | /bin/sh >> $CUR_MYERR 2>&1 & - sleep 2 #hack - return - fi - $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" + echo $@ | /bin/sh >> $CUR_MYERR 2>&1 & + sleep 2 #hack + return } -manager_term() +shutdown_mysqld() { pid=$1 ident=$2 - if [ $USE_MANAGER = 0 ] ; then - # Shutdown time must be high as slave may be in reconnect - $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1 - res=$? - # Some systems require an extra connect - $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1 - if test $res = 0 - then - wait_for_pid $pid - fi - return $res + # Shutdown time must be high as slave may be in reconnect + $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1 + res=$? + # Some systems require an extra connect + $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1 + if test $res = 0 + then + wait_for_pid $pid fi - $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \ - --password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT <<EOF -stop_exec $ident $STOP_WAIT_TIMEOUT -EOF - abort_if_failed "Could not execute manager command" + return $res } start_ndbcluster() @@ -1472,7 +1393,7 @@ start_master() if [ x$DO_DDD = x1 ] then $ECHO "set args $master_args" > $GDB_MASTER_INIT$1 - manager_launch master ddd -display $DISPLAY --debugger \ + launch_in_background master ddd -display $DISPLAY --debugger \ "gdb -x $GDB_MASTER_INIT$1" $MASTER_MYSQLD elif [ x$DO_GDB = x1 ] then @@ -1493,11 +1414,11 @@ end r EOF fi ) > $GDB_MASTER_INIT$1 - manager_launch master $XTERM -display $DISPLAY \ + launch_in_background master $XTERM -display $DISPLAY \ -title "Master" -e gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD fi else - manager_launch master $MASTER_MYSQLD $master_args + launch_in_background master $MASTER_MYSQLD $master_args fi sleep_until_file_created $MASTER_MYPID$1 $wait_for_master wait_for_master=$SLEEP_TIME_FOR_SECOND_MASTER @@ -1630,7 +1551,7 @@ start_slave() if [ x$DO_DDD = x1 ] then $ECHO "set args $slave_args" > $GDB_SLAVE_INIT - manager_launch $slave_ident ddd -display $DISPLAY --debugger \ + launch_in_background $slave_ident ddd -display $DISPLAY --debugger \ "gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD elif [ x$DO_GDB = x1 ] then @@ -1651,11 +1572,11 @@ end r EOF fi ) > $GDB_SLAVE_INIT - manager_launch $slave_ident $XTERM -display $DISPLAY -title "Slave" -e \ + launch_in_background $slave_ident $XTERM -display $DISPLAY -title "Slave" -e \ gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD fi else - manager_launch $slave_ident $SLAVE_MYSQLD $slave_args + launch_in_background $slave_ident $SLAVE_MYSQLD $slave_args fi eval "SLAVE$1_RUNNING=1" sleep_until_file_created $slave_pid $wait_for_slave @@ -1687,7 +1608,7 @@ stop_slave () if [ x$this_slave_running = x1 ] then pid=`$CAT $slave_pid` - manager_term $pid $slave_ident + shutdown_mysqld $pid $slave_ident if [ $? != 0 ] && [ -f $slave_pid ] then # try harder! $ECHO "slave not cooperating with mysqladmin, will try manual kill" @@ -1734,7 +1655,7 @@ stop_master () # MASTER_RUNNING=0 to get cleanup when calling start_master(). if [ x$USE_EMBEDDED_SERVER != x1 ] ; then pid=`$CAT $MASTER_MYPID$1` - manager_term $pid master $1 + shutdown_mysqld $pid master $1 if [ $? != 0 ] && [ -f $MASTER_MYPID$1 ] then # try harder! $ECHO "master not cooperating with mysqladmin, will try manual kill" @@ -2060,7 +1981,6 @@ run_testcase () [ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ] then mysql_stop - stop_manager fi exit 1 fi @@ -2230,18 +2150,6 @@ then rm $MASTER_MYPID $MASTER_MYPID"1" $SLAVE_MYPID fi - # Kill any running managers - if [ -f "$MANAGER_PID_FILE" ] - then - kill `cat $MANAGER_PID_FILE` - sleep 1 - if [ -f "$MANAGER_PID_FILE" ] - then - kill -9 `cat $MANAGER_PID_FILE` - sleep 1 - fi - fi - # just to force stopping anything from previous runs USE_NDBCLUSTER_OPT=$USE_NDBCLUSTER stop_ndbcluster @@ -2265,10 +2173,8 @@ then USE_NDBCLUSTER_OPT= fi - start_manager - -# Do not automagically start daemons if we are in gdb or running only one test -# case +# Do not automagically start daemons if we are in gdb or running only one +# test case if [ -z "$DO_GDB" ] && [ -z "$DO_DDD" ] then mysql_start @@ -2315,7 +2221,6 @@ then fi cd $savedir mysql_stop - stop_manager exit fi @@ -2337,7 +2242,6 @@ then if [ $USE_RUNNING_SERVER -eq 0 ] ; then mysql_stop - stop_manager fi exit @@ -2384,7 +2288,6 @@ if [ -z "$DO_GDB" ] && [ $USE_RUNNING_SERVER -eq 0 ] && [ -z "$DO_DDD" ] then mysql_stop fi -stop_manager report_stats $ECHO |