mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge mysql.com:/home/my/mysql-5.0
into mysql.com:/home/my/mysql-5.1
This commit is contained in:
@ -216,12 +216,32 @@ NDBCLUSTER_PORT=9350
|
||||
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,
|
||||
# an environment variable can be used to control all ports. A small
|
||||
# number is to be used, 0 - 16 or similar.
|
||||
#
|
||||
if [ -n "$MTR_BUILD_THREAD" ] ; then
|
||||
MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 5 + 10000`
|
||||
MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2`
|
||||
SLAVE_MYPORT=`expr $MASTER_MYPORT + 3`
|
||||
NDBCLUSTER_PORT=`expr $MASTER_MYPORT + 4`
|
||||
|
||||
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"
|
||||
fi
|
||||
|
||||
NO_SLAVE=0
|
||||
USER_TEST=
|
||||
FAILED_CASES=
|
||||
|
||||
EXTRA_MASTER_OPT=""
|
||||
EXTRA_MYSQL_TEST_OPT=""
|
||||
EXTRA_MYSQLCHECK_OPT=""
|
||||
EXTRA_MYSQLDUMP_OPT=""
|
||||
EXTRA_MYSQLSHOW_OPT=""
|
||||
EXTRA_MYSQLBINLOG_OPT=""
|
||||
@ -255,6 +275,17 @@ NDB_MGM_EXTRA_OPTS=
|
||||
NDB_MGMD_EXTRA_OPTS=
|
||||
NDBD_EXTRA_OPTS=
|
||||
|
||||
DO_STRESS=""
|
||||
STRESS_SUITE="main"
|
||||
STRESS_MODE="random"
|
||||
STRESS_THREADS=5
|
||||
STRESS_TEST_COUNT=20
|
||||
STRESS_LOOP_COUNT=""
|
||||
STRESS_TEST_DURATION=""
|
||||
STRESS_INIT_FILE=""
|
||||
STRESS_TEST_FILE=""
|
||||
STRESS_TEST=""
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--embedded-server)
|
||||
@ -343,6 +374,35 @@ while test $# -gt 0; do
|
||||
DO_BENCH=1
|
||||
NO_SLAVE=1
|
||||
;;
|
||||
--stress)
|
||||
DO_STRESS=1
|
||||
NO_SLAVE=1
|
||||
SKIP_SLAVE=1
|
||||
;;
|
||||
--stress-suite=*)
|
||||
STRESS_SUITE=`$ECHO "$1" | $SED -e "s;--stress-suite=;;"`
|
||||
;;
|
||||
--stress-threads=*)
|
||||
STRESS_THREADS=`$ECHO "$1" | $SED -e "s;--stress-threads=;;"`
|
||||
;;
|
||||
--stress-test-file=*)
|
||||
STRESS_TEST_FILE=`$ECHO "$1" | $SED -e "s;--stress-test-file=;;"`
|
||||
;;
|
||||
--stress-init-file=*)
|
||||
STRESS_INIT_FILE=`$ECHO "$1" | $SED -e "s;--stress-init-file=;;"`
|
||||
;;
|
||||
--stress-mode=*)
|
||||
STRESS_MODE=`$ECHO "$1" | $SED -e "s;--stress-mode=;;"`
|
||||
;;
|
||||
--stress-loop-count=*)
|
||||
STRESS_LOOP_COUNT=`$ECHO "$1" | $SED -e "s;--stress-loop-count=;;"`
|
||||
;;
|
||||
--stress-test-count=*)
|
||||
STRESS_TEST_COUNT=`$ECHO "$1" | $SED -e "s;--stress-test-count=;;"`
|
||||
;;
|
||||
--stress-test-duration=*)
|
||||
STRESS_TEST_DURATION=`$ECHO "$1" | $SED -e "s;--stress-test-duration=;;"`
|
||||
;;
|
||||
--big*) # Actually --big-test
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT $1" ;;
|
||||
--compress)
|
||||
@ -455,6 +515,8 @@ while test $# -gt 0; do
|
||||
--debug=d:t:i:A,$MYSQL_TEST_DIR/var/log/slave.trace"
|
||||
EXTRA_MYSQL_TEST_OPT="$EXTRA_MYSQL_TEST_OPT \
|
||||
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqltest.trace"
|
||||
EXTRA_MYSQLCHECK_OPT="$EXTRA_MYSQLCHECK_OPT \
|
||||
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqlcheck.trace"
|
||||
EXTRA_MYSQLDUMP_OPT="$EXTRA_MYSQLDUMP_OPT \
|
||||
--debug=d:t:A,$MYSQL_TEST_DIR/var/log/mysqldump.trace"
|
||||
EXTRA_MYSQLSHOW_OPT="$EXTRA_MYSQLSHOW_OPT \
|
||||
@ -557,11 +619,21 @@ if [ x$SOURCE_DIST = x1 ] ; then
|
||||
fi
|
||||
MYSQL_CLIENT_TEST="$BASEDIR/tests/mysql_client_test"
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqlcheck" ] ; then
|
||||
MYSQL_CHECK="$BASEDIR/client/.libs/mysqlcheck"
|
||||
else
|
||||
MYSQL_CHECK="$BASEDIR/client/mysqlcheck"
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqldump" ] ; then
|
||||
MYSQL_DUMP="$BASEDIR/client/.libs/mysqldump"
|
||||
else
|
||||
MYSQL_DUMP="$BASEDIR/client/mysqldump"
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqlimport" ] ; then
|
||||
MYSQL_IMPORT="$BASEDIR/client/.libs/mysqlimport"
|
||||
else
|
||||
MYSQL_IMPORT="$BASEDIR/client/mysqlimport"
|
||||
fi
|
||||
if [ -f "$BASEDIR/client/.libs/mysqlshow" ] ; then
|
||||
MYSQL_SHOW="$BASEDIR/client/.libs/mysqlshow"
|
||||
else
|
||||
@ -635,8 +707,10 @@ else
|
||||
TESTS_BINDIR="$BASEDIR/bin"
|
||||
fi
|
||||
MYSQL_TEST="$CLIENT_BINDIR/mysqltest"
|
||||
MYSQL_CHECK="$CLIENT_BINDIR/mysqlcheck"
|
||||
MYSQL_DUMP="$CLIENT_BINDIR/mysqldump"
|
||||
MYSQL_SHOW="$CLIENT_BINDIR/mysqlshow"
|
||||
MYSQL_IMPORT="$CLIENT_BINDIR/mysqlimport"
|
||||
MYSQL_BINLOG="$CLIENT_BINDIR/mysqlbinlog"
|
||||
MYSQLADMIN="$CLIENT_BINDIR/mysqladmin"
|
||||
WAIT_PID="$CLIENT_BINDIR/mysql_waitpid"
|
||||
@ -691,7 +765,7 @@ fi
|
||||
|
||||
# If we should run all tests cases, we will use a local server for that
|
||||
|
||||
if [ -z "$1" ]
|
||||
if [ -z "$1" -a -z "$DO_STRESS" ]
|
||||
then
|
||||
USE_RUNNING_SERVER=0
|
||||
fi
|
||||
@ -720,12 +794,14 @@ fi
|
||||
# Save path and name of mysqldump
|
||||
MYSQL_DUMP_DIR="$MYSQL_DUMP"
|
||||
export MYSQL_DUMP_DIR
|
||||
MYSQL_CHECK="$MYSQL_CHECK --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLCHECK_OPT"
|
||||
MYSQL_DUMP="$MYSQL_DUMP --no-defaults -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
|
||||
MYSQL_SHOW="$MYSQL_SHOW -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLSHOW_OPT"
|
||||
MYSQL_BINLOG="$MYSQL_BINLOG --no-defaults --local-load=$MYSQL_TMP_DIR --character-sets-dir=$CHARSETSDIR $EXTRA_MYSQLBINLOG_OPT"
|
||||
MYSQL_IMPORT="$MYSQL_IMPORT -uroot --socket=$MASTER_MYSOCK --password=$DBPASSWD $EXTRA_MYSQLDUMP_OPT"
|
||||
MYSQL_FIX_SYSTEM_TABLES="$MYSQL_FIX_SYSTEM_TABLES --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD --basedir=$BASEDIR --bindir=$CLIENT_BINDIR --verbose"
|
||||
MYSQL="$MYSQL --no-defaults --host=localhost --port=$MASTER_MYPORT --socket=$MASTER_MYSOCK --user=root --password=$DBPASSWD"
|
||||
export MYSQL MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES
|
||||
export MYSQL MYSQL_CHECK MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES MYSQL_IMPORT
|
||||
export CLIENT_BINDIR MYSQL_CLIENT_TEST CHARSETSDIR MYSQL_MY_PRINT_DEFAULTS
|
||||
export NDB_TOOLS_DIR
|
||||
export NDB_MGM
|
||||
@ -757,7 +833,7 @@ if [ -n "$DO_CLIENT_GDB" -o -n "$DO_GDB" ] ; then
|
||||
XTERM=`which xterm`
|
||||
fi
|
||||
|
||||
export MYSQL MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR MASTER_MYSOCK
|
||||
export MYSQL MYSQL_CHECK MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR MASTER_MYSOCK
|
||||
|
||||
#++
|
||||
# Function Definitions
|
||||
@ -1179,7 +1255,7 @@ start_master()
|
||||
then
|
||||
CURR_MASTER_MYSQLD_TRACE="$EXTRA_MASTER_MYSQLD_TRACE$1"
|
||||
fi
|
||||
if [ -z "$DO_BENCH" ]
|
||||
if [ -z "$DO_BENCH" -a -z "$DO_STRESS" ]
|
||||
then
|
||||
master_args="--no-defaults --log-bin=$MYSQL_TEST_DIR/var/log/master-bin$1 \
|
||||
--server-id=$id \
|
||||
@ -1616,7 +1692,7 @@ run_testcase ()
|
||||
stop_master 1
|
||||
report_current_test $tname
|
||||
start_master
|
||||
if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" ] ; then
|
||||
if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then
|
||||
start_master 1
|
||||
fi
|
||||
TZ=$MY_TZ; export TZ
|
||||
@ -1632,7 +1708,7 @@ run_testcase ()
|
||||
stop_master 1
|
||||
report_current_test $tname
|
||||
start_master
|
||||
if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" ] ; then
|
||||
if [ -n "$USE_NDBCLUSTER" -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then
|
||||
start_master 1
|
||||
fi
|
||||
else
|
||||
@ -1753,6 +1829,125 @@ run_testcase ()
|
||||
fi
|
||||
}
|
||||
|
||||
run_stress_test()
|
||||
{
|
||||
|
||||
STRESS_BASEDIR="$MYSQL_TEST_DIR/var/stress"
|
||||
|
||||
#Clean-up old stress test basedir
|
||||
if [ -d $STRESS_BASEDIR ] ; then
|
||||
$RM -rf $STRESS_BASEDIR
|
||||
fi
|
||||
#Create stress test basedir
|
||||
mkdir $STRESS_BASEDIR
|
||||
|
||||
if [ "$STRESS_SUITE" != "main" -a "$STRESS_SUITE" != "default" ] ; then
|
||||
STRESS_SUITE_DIR="$MYSQL_TEST_DIR/suite/$STRESS_SUITE"
|
||||
else
|
||||
STRESS_SUITE_DIR="$MYSQL_TEST_DIR"
|
||||
fi
|
||||
|
||||
if [ -d "$STRESS_SUITE_DIR" ] ; then
|
||||
STRESS_SUITE_T_DIR="$STRESS_SUITE_DIR/t"
|
||||
STRESS_SUITE_R_DIR="$STRESS_SUITE_DIR/r"
|
||||
#FIXME: check that dirs above are exist
|
||||
else
|
||||
echo "Directory $STRESS_SUITE_DIR with test suite doesn't exists. Abort stress testing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$STRESS_TEST" ] ; then
|
||||
STRESS_TEST_FILE="$STRESS_BASEDIR/stress_tests.txt"
|
||||
echo $STRESS_TEST > $STRESS_TEST_FILE
|
||||
elif [ -n "$STRESS_TEST_FILE" ] ; then
|
||||
STRESS_TEST_FILE="$STRESS_SUITE_DIR/$STRESS_TEST_FILE"
|
||||
if [ ! -f "$STRESS_TEST_FILE" ] ; then
|
||||
echo "Specified file $STRESS_TEST_FILE with list of tests does not exist"
|
||||
echo "Please ensure that file exists and has proper permissions"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
STRESS_TEST_FILE="$STRESS_SUITE_DIR/stress_tests.txt"
|
||||
if [ ! -f "$STRESS_TEST_FILE" ] ; then
|
||||
echo "Default file $STRESS_TEST_FILE with list of tests does not exist."
|
||||
echo "Please use --stress-test-file option to specify custom one or you can"
|
||||
echo "just specify name of test for testing as last argument in command line"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "$STRESS_INIT_FILE" ] ; then
|
||||
STRESS_INIT_FILE="$STRESS_SUITE_DIR/$STRESS_INIT_FILE"
|
||||
if [ ! -f "$STRESS_INIT_FILE" ] ; then
|
||||
echo "Specified file $STRESS_INIT_FILE with list of tests doesn't exist."
|
||||
echo "Please ensure that file exists and has proper permissions"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
STRESS_INIT_FILE="$STRESS_SUITE_DIR/stress_init.txt"
|
||||
#Check for default init file
|
||||
if [ ! -f "$STRESS_INIT_FILE" ] ; then
|
||||
STRESS_INIT_FILE=""
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$STRESS_MODE" != "random" -a "$STRESS_MODE" != "seq" ] ; then
|
||||
echo "You specified wrong mode '$STRESS_MODE' for stress test."
|
||||
echo "Correct values are 'random' or 'seq'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STRESS_TEST_ARGS="--server-socket=$MASTER_MYSOCK \
|
||||
--server-user=$DBUSER \
|
||||
--server-database=$DB \
|
||||
--stress-suite-basedir=$MYSQL_TEST_DIR \
|
||||
--suite=$STRESS_SUITE \
|
||||
--stress-tests-file=$STRESS_TEST_FILE \
|
||||
--stress-basedir=$STRESS_BASEDIR \
|
||||
--server-logs-dir=$STRESS_BASEDIR \
|
||||
--stress-mode=$STRESS_MODE \
|
||||
--mysqltest=$BASEDIR/client/mysqltest \
|
||||
--threads=$STRESS_THREADS \
|
||||
--verbose \
|
||||
--cleanup \
|
||||
--log-error-details \
|
||||
--abort-on-error"
|
||||
|
||||
if [ -n "$STRESS_INIT_FILE" ] ; then
|
||||
STRESS_TEST_ARGS="$STRESS_TEST_ARGS --stress-init-file=$STRESS_INIT_FILE"
|
||||
fi
|
||||
|
||||
if [ -n "$STRESS_LOOP_COUNT" ] ; then
|
||||
STRESS_TEST_ARGS="$STRESS_TEST_ARGS --loop-count=$STRESS_LOOP_COUNT"
|
||||
fi
|
||||
|
||||
if [ -n "$STRESS_TEST_COUNT" ] ; then
|
||||
STRESS_TEST_ARGS="$STRESS_TEST_ARGS --test-count=$STRESS_TEST_COUNT"
|
||||
fi
|
||||
|
||||
if [ -n "$STRESS_TEST_DURATION" ] ; then
|
||||
STRESS_TEST_ARGS="$STRESS_TEST_ARGS --test-duration=$STRESS_TEST_DURATION"
|
||||
fi
|
||||
|
||||
echo "Stress test related variables:"
|
||||
echo "TESTS - $1"
|
||||
echo "STRESS - $DO_STRESS"
|
||||
echo "STRESS_SUITE - $STRESS_SUITE"
|
||||
echo "STRESS_TEST_FILE - $STRESS_TEST_FILE"
|
||||
echo "STRESS_INIT_FILE - $STRESS_INIT_FILE"
|
||||
echo "STRESS_THREADS - $STRESS_THREADS"
|
||||
echo "STRESS_MODE - $STRESS_MODE"
|
||||
echo "STRESS_TEST_COUNT - $STRESS_TEST_COUNT"
|
||||
echo "STRESS_LOOP_COUNT - $STRESS_LOOP_COUNT"
|
||||
echo "STRESS_TEST_DURATION - $STRESS_TEST_DURATION"
|
||||
|
||||
#echo "$STRESS_TEST_ARGS";
|
||||
#Run stress test
|
||||
$MYSQL_TEST_DIR/mysql-stress-test.pl $STRESS_TEST_ARGS
|
||||
|
||||
|
||||
}
|
||||
|
||||
######################################################################
|
||||
# Main script starts here
|
||||
######################################################################
|
||||
@ -1867,6 +2062,32 @@ then
|
||||
exit
|
||||
fi
|
||||
|
||||
#
|
||||
# Stress testing
|
||||
#
|
||||
if [ "$DO_STRESS" = 1 ]
|
||||
then
|
||||
|
||||
if [ -n "$1" ] ; then
|
||||
STRESS_TEST="$1";
|
||||
fi
|
||||
|
||||
if [ $USE_RUNNING_SERVER -eq 0 ] ; then
|
||||
start_master
|
||||
fi
|
||||
|
||||
run_stress_test
|
||||
|
||||
if [ $USE_RUNNING_SERVER -eq 0 ] ; then
|
||||
mysql_stop
|
||||
stop_manager
|
||||
fi
|
||||
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
|
||||
$ECHO
|
||||
if [ x$USE_TIMER = x1 ] ; then
|
||||
$ECHO "TEST RESULT TIME (ms)"
|
||||
|
Reference in New Issue
Block a user