wecisecode 2 giorni fa
parent
commit
bff73128f1
2 ha cambiato i file con 21 aggiunte e 25 eliminazioni
  1. 13 7
      odbctest/mql/mqltest.sh
  2. 8 18
      odbctest/mql/oktest.sh

+ 13 - 7
odbctest/mql/mqltest.sh

@@ -63,10 +63,16 @@ if [[ -e ${logfile} ]]; then
     mv -f ${logfile} ${lastlogfile}
 fi
 
-runmql() {
-    ./mql "$@" 2>&1
-    ret=$?
-    return $ret
-}
-runmql "$@" | tee ${logfile}
-exit $ret
+./mql "$@" 2>&1 | tee ${logfile}
+lastline=`tail -n 1 $logfile 2>&1`
+if [[ "$lastline" = "FAIL" ]]; then
+    exit 123
+elif [[ "$lastline" = "PASS" ]]; then
+    exit 0
+elif [[ `echo "$lastline" | grep './mqltest.sh:' | grep "已杀死"` != "" ]]; then
+    exit 99
+elif [[ `echo "$lastline" | grep './mqltest.sh:' | grep "killed"` != "" ]]; then
+    exit 99
+fi
+# unkown status
+exit 125

+ 8 - 18
odbctest/mql/oktest.sh

@@ -3,6 +3,12 @@
 if [[ "$0" =~ / ]]; then cd "${0%/*}"; fi
 export CWD=`pwd`
 
+filescount=`./mql files? log.level=error "$@" | wc -l`
+if [[ "${filescount}" == "0" || "${filescount}" == "1" ]]; then
+    ./mql "$@"
+    exit $?
+fi
+
 echo "" > changed.log
 
 parseargs() {
@@ -93,31 +99,15 @@ while [[ true ]]; do
         run() {
             ./mqltest.sh "log.prefix=${PREFIX}" "$@"
             ret=$?
-            if [[ "$ret" != "0" ]]; then
-                return $ret
-            fi
-            lastline=`tail -n 1 $logfile 2>&1`
-            if [[ "$lastline" != "PASS" ]]; then
-                ret=1
-                if [[ `echo "$lastline" | grep './mqltest.sh:' | grep "已杀死"` != "" ]]; then
-                    ret=0
-                elif [[ `echo "$lastline" | grep './mqltest.sh:' | grep "killed"` != "" ]]; then
-                    ret=0
-                else
-                    exit 0
-                fi
-            fi
             echo "$endflag $ret" >> $logfile
-            if [[ "$ret" != "0" ]]; then
-                return $ret
-            fi
+            return $ret
         }
         check_odbserver &
         run "$@"
         ret=$?
     fi
     
-    if [[ "$ret" != "0" ]]; then
+    if [[ "$ret" != "0" && "$ret" != "99" ]]; then
         echo "wait for odbserver upgrad"
         wait_odbserver_change
     fi