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

📄 mysql-test-run-shell

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻
📖 第 1 页 / 共 5 页
字号:
export MYSQL MYSQL_CHECK MYSQL_DUMP MYSQL_SHOW MYSQL_BINLOG MYSQL_FIX_SYSTEM_TABLES CLIENT_BINDIR MASTER_MYSOCK#++# Function Definitions#--prompt_user (){ $ECHO $1 read unused}# We can't use diff -u or diff -a as these are not portableshow_failed_diff (){  reject_file=r/$1.reject  result_file=r/$1.result  eval_file=r/$1.eval  if [ -f $eval_file ]  then    result_file=$eval_file  fi  if [ -x "$DIFF" ] && [ -f $reject_file ]  then    echo "Below are the diffs between actual and expected results:"    echo "-------------------------------------------------------"    $DIFF -c $result_file $reject_file    echo "-------------------------------------------------------"    echo "Please follow the instructions outlined at"    echo "http://dev.mysql.com/doc/mysql/en/reporting-mysqltest-bugs.html"    echo "to find the reason to this problem and how to report this."    echo ""  fi}do_gdb_test (){  mysql_test_args="$MYSQL_TEST_ARGS $1"  $ECHO "set args $mysql_test_args < $2" > $GDB_CLIENT_INIT  echo "Set breakpoints ( if needed) and type 'run' in gdb window"  #this xterm should not be backgrounded  $XTERM -title "Client" -e gdb -x $GDB_CLIENT_INIT $MYSQL_TEST_BIN}error () {    $ECHO  "Error:  $1"    exit 1}error_is () {    $ECHO "Errors are (from $TIMEFILE) :"    $CAT < $TIMEFILE    $ECHO "(the last lines may be the most important ones)"}prefix_to_8() { $ECHO "        $1" | $SED -e 's:.*\(........\)$:\1:'}pass_inc () {    TOT_PASS=`$EXPR $TOT_PASS + 1`}fail_inc () {    TOT_FAIL=`$EXPR $TOT_FAIL + 1`}skip_inc () {    TOT_SKIP=`$EXPR $TOT_SKIP + 1`}total_inc () {    TOT_TEST=`$EXPR $TOT_TEST + 1`}skip_test() {   USERT="    ...."   SYST="    ...."   REALT="    ...."   pname=`$ECHO "$1                        "|$CUT -c 1-24`   RES="$pname"   skip_inc   $ECHO "$RES$RES_SPACE [ skipped ]"}disable_test() {   USERT="    ...."   SYST="    ...."   REALT="    ...."   pname=`$ECHO "$1                        "|$CUT -c 1-24`   RES="$pname"   skip_inc   $ECHO "$RES$RES_SPACE [ disabled ]  $2"}report_current_test () {   tname=$1   echo "CURRENT_TEST: $tname" >> $MASTER_MYERR   if [ -n "$PURIFY_LOGS" ] ; then     for log in $PURIFY_LOGS     do       echo "CURRENT_TEST: $tname" >> $log     done   fi}report_stats () {    if [ $TOT_FAIL = 0 ]; then	$ECHO "All $TOT_TEST tests were successful."    else	xten=`$EXPR $TOT_PASS \* 10000`	raw=`$EXPR $xten / $TOT_TEST`	raw=`$PRINTF %.4d $raw`	whole=`$PRINTF %.2s $raw`	xwhole=`$EXPR $whole \* 100`	deci=`$EXPR $raw - $xwhole`	$ECHO  "Failed ${TOT_FAIL}/${TOT_TEST} tests, ${whole}.${deci}% were successful."	$ECHO ""        $ECHO "The log files in $MY_LOG_DIR may give you some hint"	$ECHO "of what went wrong."	$ECHO "If you want to report this error, please read first the documentation at"        $ECHO "http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html"    fi    if [ $USE_RUNNING_SERVER -eq 0 ]    then    # Report if there was any fatal warnings/errors in the log files    #    $RM -f $MY_LOG_DIR/warnings $MY_LOG_DIR/warnings.tmp    # Remove some non fatal warnings from the log files    $SED -e 's!Warning:  Table:.* on delete!!g' -e 's!Warning: Setting lower_case_table_names=2!!g' -e 's!Warning: One can only use the --user.*root!!g' \        $MY_LOG_DIR/*.err \        | $SED -e 's!Warning:  Table:.* on rename!!g' \        > $MY_LOG_DIR/warnings.tmp    # Find errors    for i in "^Warning:" "^Error:" "^==.* at 0x" "InnoDB: Warning"    do      if $GREP "$i" $MY_LOG_DIR/warnings.tmp >> $MY_LOG_DIR/warnings      then        GOT_WARNINGS=1      fi    done    $RM -f $MY_LOG_DIR/warnings.tmp    if [ $GOT_WARNINGS = "1" ]    then      echo "WARNING: Got errors/warnings while running tests. Please examine"      echo "$MY_LOG_DIR/warnings for details."    fi    fi # USE_RUNNING_SERVER    # Check valgrind errors from mysqltest    if [ ! -z "$VALGRIND_MYSQLTEST" ]    then      if $GREP "ERROR SUMMARY" $MYSQLTEST_LOG | $GREP -v "0 errors" > /dev/null      then	  $ECHO "Valgrind detected errors!"	  $GREP "ERROR SUMMARY" $MYSQLTEST_LOG | $GREP -v "0 errors"	  $ECHO "See $MYSQLTEST_LOG"      fi    fi}mysql_install_db () {    $ECHO "Removing Stale Files"    if [ -z "$USE_OLD_DATA" ]; then      $RM -rf $MASTER_MYDDIR $MASTER_MYDDIR"1"      $ECHO "Installing Master Databases"      $INSTALL_DB      if [ $? != 0 ]; then	error "Could not install master test DBs"        exit 1      fi    fi    if [ ! -z "$USE_NDBCLUSTER" ]    then      $ECHO "Installing Master Databases 1"      $INSTALL_DB -1      if [ $? != 0 ]; then	error "Could not install master test DBs 1"	exit 1      fi    fi    $ECHO "Installing Slave Databases"    $RM -rf $SLAVE_MYDDIR $MY_LOG_DIR/*     $INSTALL_DB -slave    if [ $? != 0 ]; then	error "Could not install slave test DBs"	exit 1    fi    for slave_num in 1 2 ;    do      $RM -rf var/slave$slave_num-data      mkdir -p var/slave$slave_num-data/mysql      mkdir -p var/slave$slave_num-data/test      cp var/slave-data/mysql/* var/slave$slave_num-data/mysql    done    return 0}gprof_prepare (){ $RM -rf $GPROF_DIR mkdir -p $GPROF_DIR}gprof_collect (){ if [ -f $MASTER_MYDDIR/gmon.out ]; then   gprof $MASTER_MYSQLD $MASTER_MYDDIR/gmon.out > $GPROF_MASTER   echo "Master execution profile has been saved in $GPROF_MASTER" fi if [ -f $SLAVE_MYDDIR/gmon.out ]; then   gprof $SLAVE_MYSQLD $SLAVE_MYDDIR/gmon.out > $GPROF_SLAVE   echo "Slave execution profile has been saved in $GPROF_SLAVE" fi}gcov_prepare () {    $FIND $BASEDIR -name \*.gcov \    -or -name \*.da | $XARGS $RM}gcov_collect () {    $ECHO "Collecting source coverage info..."    [ -f $GCOV_MSG ] && $RM $GCOV_MSG    [ -f $GCOV_ERR ] && $RM $GCOV_ERR    for d in $MYSQLD_SRC_DIRS; do	cd $BASEDIR/$d	for f in *.h *.cc *.c; do	    $GCOV $f 2>>$GCOV_ERR  >>$GCOV_MSG	done	cd $MYSQL_TEST_DIR    done    $ECHO "gcov info in $GCOV_MSG, errors in $GCOV_ERR"}abort_if_failed(){ if [ ! $? = 0 ] ; then  echo $1  exit 1 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 <<EOFshutdownEOF echo "Manager terminated"}manager_launch(){  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 <<EOFdef_exec $ident "$@"set_exec_stdout $ident $CUR_MYERRset_exec_stderr $ident $CUR_MYERRset_exec_con $ident root localhost $CUR_MYSOCKstart_exec $ident $START_WAIT_TIMEOUTEOF  abort_if_failed "Could not execute manager command"}manager_term(){  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  fi  $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \   --password=$MYSQL_MANAGER_PW  --port=$MYSQL_MANAGER_PORT <<EOFstop_exec $ident $STOP_WAIT_TIMEOUTEOF abort_if_failed "Could not execute manager command"}start_ndbcluster(){  if [ ! -z "$USE_NDBCLUSTER" ]  then  rm -f $NDB_TOOLS_OUTPUT  if [ -z "$USE_RUNNING_NDBCLUSTER" ]  then    echo "Starting ndbcluster"    if [ "$DO_BENCH" = 1 ]    then      NDBCLUSTER_EXTRA_OPTS=""    else      NDBCLUSTER_EXTRA_OPTS="--small"    fi    ./ndb/ndbcluster $NDBCLUSTER_OPTS --character-sets-dir=$CHARSETSDIR $NDBCLUSTER_EXTRA_OPTS --initial || NDB_STATUS_OK=0    if [ x$NDB_STATUS_OK != x1 ] ; then      if [ x$FORCE != x1 ] ; then        exit 1      fi      USE_NDBCLUSTER=      return    fi    NDB_CONNECTSTRING="host=localhost:$NDBCLUSTER_PORT"  else    NDB_CONNECTSTRING="$USE_RUNNING_NDBCLUSTER"    echo "Using ndbcluster at $NDB_CONNECTSTRING"  fi  USE_NDBCLUSTER="$USE_NDBCLUSTER --ndb-connectstring=\"$NDB_CONNECTSTRING\""  export NDB_CONNECTSTRING  fi}stop_ndbcluster(){ if [ ! -z "$USE_NDBCLUSTER" ] then if [ -z "$USE_RUNNING_NDBCLUSTER" ] then   # Kill any running ndbcluster stuff   ./ndb/ndbcluster $NDBCLUSTER_OPTS --stop fi fi}# The embedded server needs the cleanup so we do some of the start work# but stop before actually running mysqld or anything.start_master(){  eval "this_master_running=\$MASTER$1_RUNNING"  if [ x$this_master_running = x1 ] || [ x$LOCAL_MASTER = x1 ] ; then    return  fi  # Remove stale binary logs except for 2 tests which need them  if [ "$tname" != "rpl_crash_binlog_ib_1b" ] && [ "$tname" != "rpl_crash_binlog_ib_2b" ] && [ "$tname" != "rpl_crash_binlog_ib_3b" ]   then    $RM -f $MYSQL_TEST_DIR/var/log/master-bin$1.*  fi  # Remove old master.info and relay-log.info files  $RM -f $MYSQL_TEST_DIR/var/master-data$1/master.info $MYSQL_TEST_DIR/var/master-data$1/relay-log.info  #run master initialization shell script if one exists  if [ -f "$master_init_script" ] ;  then      /bin/sh $master_init_script  fi  cd $BASEDIR # for gcov  if [ -n "$1" ] ; then   id=`$EXPR $1 + 101`;   this_master_myport=`$EXPR $MASTER_MYPORT + $1`   NOT_FIRST_MASTER_EXTRA_OPTS="--skip-innodb"   eval "MASTER_MYPORT$1=$this_master_myport"   export MASTER_MYPORT$1  else   id=1;   this_master_myport=$MASTER_MYPORT   NOT_FIRST_MASTER_EXTRA_OPTS=""  fi  if [ -n "$EXTRA_MASTER_MYSQLD_TRACE" ]   then      CURR_MASTER_MYSQLD_TRACE="$EXTRA_MASTER_MYSQLD_TRACE$1"  fi  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  \          --basedir=$MY_BASEDIR \          --port=$this_master_myport \          --port-open-timeout=380 \          --local-infile \          --exit-info=256 \          --core \          $USE_NDBCLUSTER \          --datadir=$MASTER_MYDDIR$1 \          --pid-file=$MASTER_MYPID$1 \          --socket=$MASTER_MYSOCK$1 \          --log=$MASTER_MYLOG$1 \

⌨️ 快捷键说明

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