⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql-test-run-shell

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻
📖 第 1 页 / 共 5 页
字号:
       start_master       if [ -n "$USE_NDBCLUSTER"  -a -z "$DO_BENCH" -a -z "$DO_STRESS" ] ; then         start_master 1       fi     else       report_current_test $tname     fi   fi   # We never start a slave if embedded server is used   if [ "x$USE_EMBEDDED_SERVER" != "x1" ] ; then     do_slave_restart=0     if [ -f $slave_opt_file ] ;     then       EXTRA_SLAVE_OPT=`$CAT $slave_opt_file | $SED -e "s;\\$MYSQL_TEST_DIR;$MYSQL_TEST_DIR;"`       do_slave_restart=1     else      if [ ! -z "$EXTRA_SLAVE_OPT" ] || [ x$SLAVE_RUNNING != x1 ] ;      then	EXTRA_SLAVE_OPT=""	do_slave_restart=1      fi     fi     if [ -f $slave_master_info_file ] ; then       SLAVE_MASTER_INFO=`$CAT $slave_master_info_file`       do_slave_restart=1     else       if [ ! -z "$SLAVE_MASTER_INFO" ] || [ x$SLAVE_RUNNING != x1 ] ;       then	 SLAVE_MASTER_INFO=""	 do_slave_restart=1       fi     fi     if [ x$do_slave_restart = x1 ] ; then       stop_slave       echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR       start_slave     else       echo "CURRENT_TEST: $tname" >> $SLAVE_MYERR     fi     if [ x$many_slaves = x1 ]; then      start_slave 1      start_slave 2     fi   fi fi if [ "x$START_AND_EXIT" = "x1" ] ; then  echo "Servers started, exiting"  exit fi cd $MYSQL_TEST_DIR if [ -f $tf ] ; then    $RM -f r/$tname.*reject    mysql_test_args="-R $result_file $EXTRA_MYSQL_TEST_OPT"    if [ -z "$DO_CLIENT_GDB" ] ; then      `$VALGRIND_MYSQLTEST $MYSQL_TEST  $mysql_test_args < $tf 2> $TIMEFILE`;    else      do_gdb_test "$mysql_test_args" "$tf"    fi    res=$?    # Save the testcase log to mysqltest log file    echo "CURRENT_TEST: $tname" >> $MYSQLTEST_LOG    cat $TIMEFILE >> $MYSQLTEST_LOG    pname=`$ECHO "$tname                        "|$CUT -c 1-24`    RES="$pname"    if [ x$many_slaves = x1 ] ; then     stop_slave 1     stop_slave 2    fi    if [ $res = 0 ]; then      total_inc      pass_inc      TIMER=""      if [ x$USE_TIMER = x1 -a -f "$MY_LOG_DIR/timer" ]; then	TIMER=`cat $MY_LOG_DIR/timer`	TIMER=`$PRINTF "%13s" $TIMER`      fi      $ECHO "$RES$RES_SPACE [ pass ]   $TIMER"    else      # why the following ``if'' ? That is why res==1 is special ?      if [ $res = 62 ]; then        skip_inc	$ECHO "$RES$RES_SPACE [ skipped ]"      else        if [ $res -ne 1 ]; then          $ECHO "mysqltest returned unexpected code $res, it has probably crashed" >> $TIMEFILE        fi	total_inc        fail_inc	$ECHO "$RES$RES_SPACE [ fail ]"        $ECHO	error_is	show_failed_diff $tname	$ECHO	if [ x$FORCE != x1 ] ; then	 $ECHO "Aborting: $tname failed in $TEST_MODE mode. To continue, re-run with '--force'."	 $ECHO         if [ -z "$DO_GDB" ] && [ $USE_RUNNING_SERVER -eq 0 ] && \	    [ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ]	 then	   mysql_stop	   stop_manager   	 fi	 exit 1	fi	FAILED_CASES="$FAILED_CASES $tname"        if [ -z "$DO_GDB" ] && [ $USE_RUNNING_SERVER -eq 0 ] && \	   [ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ]	then	  mysql_restart	fi      fi    fi  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=$CLIENT_BINDIR/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 [ -z "$STRESS_LOOP_COUNT" -a -z  "$STRESS_TEST_COUNT" -a        -z "$STRESS_TEST_DURATION" ] ; then     #Limit stress testing with 20 loops in case when any limit parameter    #was specified    STRESS_TEST_COUNT=20  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######################################################################[ "$DO_GCOV" -a ! -x "$GCOV" ] && error "No gcov found"[ "$DO_GCOV" ] && gcov_prepare[ "$DO_GPROF" ] && gprof_prepareif [ $USE_RUNNING_SERVER -eq 0 ]then  if [ -z "$FAST_START" ]  then    # Ensure that no old mysqld test servers are running    $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    $MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $MASTER_MYPORT+1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    $MYSQLADMIN --no-defaults --host=$hostname --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1    sleep_until_file_deleted 0 $MASTER_MYPID    sleep_until_file_deleted 0 $MASTER_MYPID"1"    sleep_until_file_deleted 0 $SLAVE_MYPID  else    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  stop_ndbcluster  # Remove files that can cause problems  $RM -rf $MYSQL_TEST_DIR/var/ndbcluster  $RM -rf $MYSQL_TEST_DIR/var/run/* $MYSQL_TEST_DIR/var/tmp/*  # Remove old berkeley db log files that can confuse the server  $RM -f $MASTER_MYDDIR/log.*  $RM -f $MASTER_MYDDIR"1"/log.*  # Remove old log and reject files  $RM -f r/*.reject r/*.progress r/*.log r/*.warnings  wait_for_master=$SLEEP_TIME_FOR_FIRST_MASTER  wait_for_slave=$SLEEP_TIME_FOR_FIRST_SLAVE  $ECHO "Installing Test Databases"  mysql_install_db  if [ -n "$1" -a `expr "X$*" : '.*ndb'` -eq 0 ]  then    USE_NDBCLUSTER=""  fi  start_manager  mysql_start  $ECHO  "Loading Standard Test Databases"  mysql_loadstdfi$ECHO  "Starting Tests"# Some test cases need USE_RUNNING_SERVERexport USE_RUNNING_SERVER## This can probably be deleted#if [ "$DO_BENCH" = 1 ]then  start_master  if [ "$DO_SMALL_BENCH" = 1 ]  then    EXTRA_BENCH_ARGS="--small-test --small-tables"  fi  if [ ! -z "$USE_NDBCLUSTER" ]  then    EXTRA_BENCH_ARGS="--create-options=TYPE=ndb $EXTRA_BENCH_ARGS"  fi   BENCHDIR=$BASEDIR/sql-bench/  savedir=`pwd`  cd $BENCHDIR  if [ -z "$1" ]  then    ./run-all-tests --socket=$MASTER_MYSOCK --user=root $EXTRA_BENCH_ARGS --log  else    if [ -x "./$1" ]    then       ./$1 --socket=$MASTER_MYSOCK --user=root $EXTRA_BENCH_ARGS    else      echo "benchmark $1 not found"    fi  fi  cd $savedir  mysql_stop  stop_manager  exitfi## 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    exitfi$ECHOif [ x$USE_TIMER = x1 ] ; then$ECHO "TEST                            RESULT        TIME (ms)"else$ECHO "TEST                            RESULT"fi$ECHO $DASH72if [ -z "$1" ] ;then  if [ x$RECORD = x1 ]; then    $ECHO "Will not run in record mode without a specific test case."  else    for tf in $TESTDIR/*.$TESTSUFFIX    do      run_testcase $tf    done    $RM -f $TIMEFILE	# Remove for full test  fielse  while [ ! -z "$1" ]; do    tname=`$BASENAME $1 .test`    tf=$TESTDIR/$tname.$TESTSUFFIX    if [ -f $tf ] ; then      run_testcase $tf    else      $ECHO "Test case $tf does not exist."    fi    shift  donefi$ECHO $DASH72$ECHOif [ -z "$DO_GDB" ] && [ $USE_RUNNING_SERVER -eq 0 ] && [ -z "$DO_DDD" ]then    mysql_stopfistop_managerreport_stats$ECHO[ "$DO_GCOV" ] && gcov_collect # collect coverage information[ "$DO_GPROF" ] && gprof_collect # collect coverage informationif [ $TOT_FAIL -ne 0 ]; then  $ECHO "mysql-test-run in $TEST_MODE mode: *** Failing the test(s):$FAILED_CASES"  $ECHO  exit 1fiif [ $GOT_WARNINGS -ne 0 ]; then  exit 1fiexit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -