test-all.sh 13.9 KB
Newer Older
sangshuduo's avatar
sangshuduo 已提交
1 2
#!/bin/bash

3 4 5 6 7 8
# Color setting
RED='\033[0;31m'
GREEN='\033[1;32m'
GREEN_DARK='\033[0;32m'
GREEN_UNDERLINE='\033[4;32m'
NC='\033[0m'
L
liuyq-617 已提交
9

10 11 12
tests_dir=`pwd`
IN_TDINTERNAL="community"

P
Ping Xiao 已提交
13 14
function stopTaosd {
	echo "Stop taosd"
P
Ping Xiao 已提交
15
  sudo systemctl stop taosd
P
Ping Xiao 已提交
16 17 18 19 20 21 22 23 24
  PID=`ps -ef|grep -w taosd | grep -v grep | awk '{print $2}'`
	while [ -n "$PID" ]
	do
    pkill -TERM -x taosd
    sleep 1
  	PID=`ps -ef|grep -w taosd | grep -v grep | awk '{print $2}'`
	done
}

L
liuyq-617 已提交
25 26
function dohavecore(){
  corefile=`find $corepath -mmin 1`  
L
liuyq-617 已提交
27 28
  core_file=`echo $corefile|cut -d " " -f2`
  echo $core_file
L
liuyq-617 已提交
29
  proc=`echo $corefile|cut -d "_" -f3`
L
liuyq-617 已提交
30
  if [ -n "$corefile" ];then
31
    echo 'taosd or taos has generated core'
L
liuyq-617 已提交
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
    if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]] && [[ $1 == 1 ]]; then
      cd ../../../
      tar -zcPf $corepath'taos_'`date "+%Y_%m_%d_%H_%M_%S"`.tar.gz debug/build/bin/taosd debug/build/bin/tsim debug/build/lib/libtaos*so*
      if [[ $2 == 1 ]];then
        cp -r sim ~/sim_`date "+%Y_%m_%d_%H:%M:%S"`
        rm -rf sim/case.log
      else
        cd community
        cp -r sim ~/sim_`date "+%Y_%m_%d_%H:%M:%S" `
        rm -rf sim/case.log
      fi
    else 
      cd ../../
      if [[ $1 == 1 ]];then 
        tar -zcPf $corepath'taos_'`date "+%Y_%m_%d_%H_%M_%S"`.tar.gz debug/build/bin/taosd debug/build/bin/tsim debug/build/lib/libtaos*so*
        cp -r sim ~/sim_`date "+%Y_%m_%d_%H:%M:%S" `
        rm -rf sim/case.log
      fi
    fi
51
    if [[ $1 == 1 ]];then
L
liuyq-617 已提交
52
      echo '\n'|gdb /usr/local/taos/bin/$proc $core_file -ex "bt 10" -ex quit
53 54
      exit 8
    fi
L
liuyq-617 已提交
55
  fi
56
}
L
liuyq-617 已提交
57

58 59
function runSimCaseOneByOne {
  while read -r line; do
P
Ping Xiao 已提交
60
    if [[ $line =~ ^./test.sh* ]] || [[ $line =~ ^run* ]]; then
61
			case=`echo $line | grep sim$ |awk '{print $NF}'`    
P
Ping Xiao 已提交
62
      start_time=`date +%s`      
P
Ping Xiao 已提交
63
      date +%F\ %T | tee -a out.log
L
liuyq-617 已提交
64 65 66
      if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
        echo -n $case
        ./test.sh -f $case > /dev/null 2>&1 && \
L
liuyq-617 已提交
67
        ( grep -q 'script.*'$case'.*failed.*, err.*lineNum' ../../../sim/tsim/log/taoslog0.0 && echo -e "${RED} failed${NC}" | tee -a out.log  ||  echo -e "${GREEN} success${NC}" | tee -a out.log )|| \
L
liuyq-617 已提交
68 69 70 71 72
        ( grep -q 'script.*success.*m$' ../../../sim/tsim/log/taoslog0.0 && echo -e "${GREEN} success${NC}" | tee -a out.log )  || \
        echo -e "${RED} failed${NC}" | tee -a out.log
      else
        echo -n $case
        ./test.sh -f $case > /dev/null 2>&1 && \
L
liuyq-617 已提交
73
        ( grep -q 'script.*'$case'.*failed.*, err.*lineNum' ../../sim/tsim/log/taoslog0.0 && echo -e "${RED} failed${NC}" | tee -a out.log  ||  echo -e "${GREEN} success${NC}" | tee -a out.log )|| \
L
liuyq-617 已提交
74 75 76
        ( grep -q 'script.*success.*m$' ../../sim/tsim/log/taoslog0.0 && echo -e "${GREEN} success${NC}" | tee -a out.log )  || \
        echo -e "${RED} failed${NC}" | tee -a out.log
      fi
L
liuyq-617 已提交
77
      out_log=`tail -1 out.log  `
L
liuyq-617 已提交
78 79 80
      # if [[ $out_log =~ 'failed' ]];then
      #   exit 8
      # fi
S
Shuduo Sang 已提交
81 82
      end_time=`date +%s`
      echo execution time of $case was `expr $end_time - $start_time`s. | tee -a out.log
L
liuyq-617 已提交
83
      dohavecore 0
84 85 86
    fi
  done < $1
}
L
liuyq-617 已提交
87
function runSimCaseOneByOnefq {
L
liuyq-617 已提交
88 89 90 91 92

  start=`sed -n "/$1-start/=" jenkins/basic.txt`
  end=`sed -n "/$1-end/=" jenkins/basic.txt`  
  for ((i=$start;i<=$end;i++)) ; do
    line=`sed -n "$i"p jenkins/basic.txt`
L
liuyq-617 已提交
93 94 95
    if [[ $line =~ ^./test.sh* ]] || [[ $line =~ ^run* ]]; then
			case=`echo $line | grep sim$ |awk '{print $NF}'`

96
      start_time=`date +%s`    
P
Ping Xiao 已提交
97
      date +%F\ %T | tee -a out.log
98
      if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
L
liuyq-617 已提交
99
        echo -n $case
100
        ./test.sh -f $case > ../../../sim/case.log 2>&1 && \
L
liuyq-617 已提交
101
        ( grep -q 'script.*'$case'.*failed.*, err.*lineNum' ../../../sim/tsim/log/taoslog0.0 && echo -e "${RED} failed${NC}" | tee -a out.log  ||  echo -e "${GREEN} success${NC}" | tee -a out.log )|| \
L
liuyq-617 已提交
102
        ( grep -q 'script.*success.*m$' ../../../sim/tsim/log/taoslog0.0 && echo -e "${GREEN} success${NC}" | tee -a out.log )  || \
103
        ( echo -e "${RED} failed${NC}" | tee -a out.log && echo '=====================log=====================' && cat ../../../sim/case.log )
104
      else
L
liuyq-617 已提交
105
        echo -n $case
106
        ./test.sh -f $case > ../../sim/case.log 2>&1 && \
L
liuyq-617 已提交
107
        ( grep -q 'script.*'$case'.*failed.*, err.*lineNum' ../../sim/tsim/log/taoslog0.0 && echo -e "${RED} failed${NC}" | tee -a out.log  ||  echo -e "${GREEN} success${NC}" | tee -a out.log )|| \
L
liuyq-617 已提交
108
        ( grep -q 'script.*success.*m$' ../../sim/tsim/log/taoslog0.0 && echo -e "${GREEN} success${NC}" | tee -a out.log )  || \
109
        ( echo -e "${RED} failed${NC}" | tee -a out.log && echo '=====================log=====================' &&  cat ../../sim/case.log )
110 111
      fi
      
L
liuyq-617 已提交
112 113
      out_log=`tail -1 out.log  `
      if [[ $out_log =~ 'failed' ]];then
114
        if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
L
liuyq-617 已提交
115
          cp -r ../../../sim ~/sim_`date "+%Y_%m_%d_%H:%M:%S"`
116
          rm -rf ../../../sim/case.log
117
        else 
L
liuyq-617 已提交
118
          cp -r ../../sim ~/sim_`date "+%Y_%m_%d_%H:%M:%S" `
119
          rm -rf ../../sim/case.log
120
        fi
L
liuyq-617 已提交
121
        dohavecore $2 1
L
fix  
liuyq-617 已提交
122 123 124
        if [[ $2 == 1 ]];then
          exit 8
        fi
L
liuyq-617 已提交
125 126 127
      fi
      end_time=`date +%s`
      echo execution time of $case was `expr $end_time - $start_time`s. | tee -a out.log
L
liuyq-617 已提交
128
      dohavecore $2 1
L
liuyq-617 已提交
129
    fi
L
liuyq-617 已提交
130
  done 
131 132
  rm -rf ../../../sim/case.log
  rm -rf ../../sim/case.log
L
liuyq-617 已提交
133
}
134 135 136 137

function runPyCaseOneByOne {
  while read -r line; do
    if [[ $line =~ ^python.* ]]; then
138
      if [[ $line != *sleep* ]]; then
L
liuyq-617 已提交
139 140 141 142 143 144
        
        if [[ $line =~ '-r' ]];then
          case=`echo $line|awk '{print $4}'`
        else
          case=`echo $line|awk '{print $NF}'`
        fi
S
Shuduo Sang 已提交
145
        start_time=`date +%s`
P
Ping Xiao 已提交
146
        date +%F\ %T | tee -a pytest-out.log
L
liuyq-617 已提交
147
        echo -n $case
148
        $line > /dev/null 2>&1 && \
L
liuyq-617 已提交
149 150
          echo -e "${GREEN} success${NC}" | tee -a pytest-out.log || \
          echo -e "${RED} failed${NC}" | tee -a pytest-out.log
S
Shuduo Sang 已提交
151
        end_time=`date +%s`
L
liuyq-617 已提交
152
        out_log=`tail -1 pytest-out.log  `
L
liuyq-617 已提交
153 154 155
        # if [[ $out_log =~ 'failed' ]];then
        #   exit 8
        # fi
S
Shuduo Sang 已提交
156
        echo execution time of $case was `expr $end_time - $start_time`s. | tee -a pytest-out.log
157 158 159
      else
        $line > /dev/null 2>&1
      fi
L
liuyq-617 已提交
160
      dohavecore 0
161 162 163
    fi
  done < $1
}
L
liuyq-617 已提交
164 165 166 167 168 169 170 171 172 173 174
function runPyCaseOneByOnefq() {
  cd $tests_dir/pytest
  if [[ $1 =~ full ]] ; then
    start=1
    end=`sed -n '$=' fulltest.sh`
  else
    start=`sed -n "/$1-start/=" fulltest.sh`
    end=`sed -n "/$1-end/=" fulltest.sh`
  fi
  for ((i=$start;i<=$end;i++)) ; do
    line=`sed -n "$i"p fulltest.sh`
L
liuyq-617 已提交
175 176 177 178 179 180 181 182 183
    if [[ $line =~ ^python.* ]]; then
      if [[ $line != *sleep* ]]; then
        
        if [[ $line =~ '-r' ]];then
          case=`echo $line|awk '{print $4}'`
        else
          case=`echo $line|awk '{print $NF}'`
        fi
        start_time=`date +%s`
P
Ping Xiao 已提交
184
        date +%F\ %T | tee -a pytest-out.log
L
liuyq-617 已提交
185
        echo -n $case
186
        $line > ../../sim/case.log 2>&1 && \
L
liuyq-617 已提交
187
          echo -e "${GREEN} success${NC}" | tee -a pytest-out.log || \
188
          echo -e "${RED} failed${NC}" | tee -a pytest-out.log 
L
liuyq-617 已提交
189 190 191
        end_time=`date +%s`
        out_log=`tail -1 pytest-out.log  `
        if [[ $out_log =~ 'failed' ]];then
L
liuyq-617 已提交
192
          cp -r ../../sim ~/sim_`date "+%Y_%m_%d_%H:%M:%S" `
L
fix  
liuyq-617 已提交
193
          echo '=====================log===================== '
194 195
          cat ../../sim/case.log
          rm -rf ../../sim/case.log
L
liuyq-617 已提交
196
          dohavecore $2 2
L
fix  
liuyq-617 已提交
197 198 199
          if [[ $2 == 1 ]];then
            exit 8
          fi
L
liuyq-617 已提交
200 201 202 203 204
        fi
        echo execution time of $case was `expr $end_time - $start_time`s. | tee -a pytest-out.log
      else
        $line > /dev/null 2>&1
      fi
L
liuyq-617 已提交
205
      dohavecore $2 2
L
liuyq-617 已提交
206
    fi
L
liuyq-617 已提交
207
  done 
208
  rm -rf ../../sim/case.log
L
liuyq-617 已提交
209
}
210

211 212
totalFailed=0
totalPyFailed=0
213
totalJDBCFailed=0
P
Ping Xiao 已提交
214
totalUnitFailed=0
sangshuduo's avatar
sangshuduo 已提交
215

L
liuyq-617 已提交
216
corepath=`grep -oP '.*(?=core_)' /proc/sys/kernel/core_pattern||grep -oP '.*(?=core-)' /proc/sys/kernel/core_pattern`
217
if [ "$2" != "jdbc" ] && [ "$2" != "python" ] && [ "$2" != "unit" ]; then
218
  echo "### run TSIM test case ###"
S
Shuduo Sang 已提交
219
  cd $tests_dir/script
220

221 222 223 224 225 226
  [ -f out.log ] && rm -f out.log
  if [ "$1" == "cron" ]; then
    echo "### run TSIM regression test ###"
    runSimCaseOneByOne regressionSuite.sim
  elif [ "$1" == "full" ]; then
    echo "### run TSIM full test ###"
P
Ping Xiao 已提交
227
    runSimCaseOneByOne jenkins/basic.txt
L
liuyq-617 已提交
228 229
  elif [ "$1" == "b1" ]; then
    echo "### run TSIM b1 test ###"
L
liuyq-617 已提交
230 231 232 233 234
    runSimCaseOneByOnefq b1 0
    runSimCaseOneByOnefq b4 0
    runSimCaseOneByOnefq b5 0
    runSimCaseOneByOnefq b6 0
    runSimCaseOneByOnefq b7 0
L
liuyq-617 已提交
235 236
  elif [ "$1" == "b2" ]; then
    echo "### run TSIM b2 test ###"
L
liuyq-617 已提交
237
    runSimCaseOneByOnefq b2 0
L
liuyq-617 已提交
238 239
  elif [ "$1" == "b3" ]; then
    echo "### run TSIM b3 test ###"
L
liuyq-617 已提交
240
    runSimCaseOneByOnefq b3 0
L
liuyq-617 已提交
241 242
  elif [ "$1" == "b1fq" ]; then
    echo "### run TSIM b1 test ###"
L
liuyq-617 已提交
243
    runSimCaseOneByOnefq b1 1
L
liuyq-617 已提交
244 245
  elif [ "$1" == "b2fq" ]; then
    echo "### run TSIM b2 test ###"
L
liuyq-617 已提交
246
    runSimCaseOneByOnefq b2 1
L
liuyq-617 已提交
247 248
  elif [ "$1" == "b3fq" ]; then
    echo "### run TSIM b3 test ###"
L
liuyq-617 已提交
249
    runSimCaseOneByOnefq b3 1
L
liuyq-617 已提交
250 251
  elif [ "$1" == "b4fq" ]; then
    echo "### run TSIM b4 test ###"
L
liuyq-617 已提交
252
    runSimCaseOneByOnefq b4 1
L
liuyq-617 已提交
253 254
  elif [ "$1" == "b5fq" ]; then
    echo "### run TSIM b5 test ###"
L
liuyq-617 已提交
255
    runSimCaseOneByOnefq b5 1
L
liuyq-617 已提交
256 257
  elif [ "$1" == "b6fq" ]; then
    echo "### run TSIM b6 test ###"
L
liuyq-617 已提交
258
    runSimCaseOneByOnefq b6 1
L
liuyq-617 已提交
259 260
  elif [ "$1" == "b7fq" ]; then
    echo "### run TSIM b7 test ###"
L
liuyq-617 已提交
261
    runSimCaseOneByOnefq b7 1
S
Shuduo Sang 已提交
262
  elif [ "$1" == "smoke" ] || [ -z "$1" ]; then
263 264 265
    echo "### run TSIM smoke test ###"
    runSimCaseOneByOne basicSuite.sim
  fi
266

267 268
  totalSuccess=`grep 'success' out.log | wc -l`
  totalBasic=`grep success out.log | grep Suite | wc -l`
269

270 271 272
  if [ "$totalSuccess" -gt "0" ]; then
    totalSuccess=`expr $totalSuccess - $totalBasic`
  fi
sangshuduo's avatar
sangshuduo 已提交
273

S
Shuduo Sang 已提交
274
  echo -e "\n${GREEN} ### Total $totalSuccess TSIM case(s) succeed! ### ${NC}"
275

276 277
  totalFailed=`grep 'failed\|fault' out.log | wc -l`
# echo -e "${RED} ### Total $totalFailed TSIM case(s) failed! ### ${NC}"
278

279
  if [ "$totalFailed" -ne "0" ]; then
S
Shuduo Sang 已提交
280
    echo -e "\n${RED} ### Total $totalFailed TSIM case(s) failed! ### ${NC}"
sangshuduo's avatar
sangshuduo 已提交
281

282 283
#  exit $totalFailed
  fi
sangshuduo's avatar
sangshuduo 已提交
284 285
fi

286
if [ "$2" != "sim" ] && [ "$2" != "jdbc" ] && [ "$2" != "unit" ]; then
287
  echo "### run Python test case ###"
288

S
Shuduo Sang 已提交
289
  cd $tests_dir
290

S
Shuduo Sang 已提交
291
  if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
    cd ../..
  else
    cd ../
  fi

  TOP_DIR=`pwd`
  TAOSLIB_DIR=`find . -name "libtaos.so"|grep -w lib|head -n1`
  if [[ "$TAOSLIB_DIR" == *"$IN_TDINTERNAL"* ]]; then
    LIB_DIR=`find . -name "libtaos.so"|grep -w lib|head -n1|cut -d '/' --fields=2,3,4,5`
  else
    LIB_DIR=`find . -name "libtaos.so"|grep -w lib|head -n1|cut -d '/' --fields=2,3,4`
  fi

  export LD_LIBRARY_PATH=$TOP_DIR/$LIB_DIR:$LD_LIBRARY_PATH

S
Shuduo Sang 已提交
307
  cd $tests_dir/pytest
308 309 310 311 312 313 314 315 316

  [ -f pytest-out.log ] && rm -f pytest-out.log

  if [ "$1" == "cron" ]; then
    echo "### run Python regression test ###"
    runPyCaseOneByOne regressiontest.sh
  elif [ "$1" == "full" ]; then
    echo "### run Python full test ###"
    runPyCaseOneByOne fulltest.sh
L
liuyq-617 已提交
317
  elif [ "$1" == "pytest" ]; then
L
liuyq-617 已提交
318 319
    echo "### run Python full test ###"
    runPyCaseOneByOne fulltest.sh
L
liuyq-617 已提交
320 321
  elif [ "$1" == "pytestfq" ]; then
    echo "### run Python full test ###"
L
liuyq-617 已提交
322
    runPyCaseOneByOnefq full 0
323 324
  elif [ "$1" == "p1" ]; then
    echo "### run Python_1 test ###"
L
liuyq-617 已提交
325
    runPyCaseOneByOnefq p1 1
326 327
  elif [ "$1" == "p2" ]; then
    echo "### run Python_2 test ###"
L
liuyq-617 已提交
328
    runPyCaseOneByOnefq p2 1
L
liuyq-617 已提交
329 330
  elif [ "$1" == "p3" ]; then
    echo "### run Python_3 test ###"
L
liuyq-617 已提交
331
    runPyCaseOneByOnefq p3 1 
L
liuyq-617 已提交
332 333
  elif [ "$1" == "p4" ]; then
    echo "### run Python_4 test ###"
L
liuyq-617 已提交
334
    runPyCaseOneByOnefq p4 1
L
liuyq-617 已提交
335 336
  elif [ "$1" == "b2" ] || [ "$1" == "b3" ]; then
    exit $(($totalFailed + $totalPyFailed))
S
Shuduo Sang 已提交
337
  elif [ "$1" == "smoke" ] || [ -z "$1" ]; then
338 339 340
    echo "### run Python smoke test ###"
    runPyCaseOneByOne smoketest.sh
  fi
341
  totalPySuccess=`grep 'success' pytest-out.log | wc -l`
342 343

  if [ "$totalPySuccess" -gt "0" ]; then
S
Shuduo Sang 已提交
344
    echo -e "\n${GREEN} ### Total $totalPySuccess python case(s) succeed! ### ${NC}"
345 346 347 348
  fi

  totalPyFailed=`grep 'failed\|fault' pytest-out.log | wc -l`
  if [ "$totalPyFailed" -ne "0" ]; then
S
Shuduo Sang 已提交
349
    echo -e "\n${RED} ### Total $totalPyFailed python case(s) failed! ### ${NC}"
350
#  exit $totalPyFailed
351
  fi
sangshuduo's avatar
sangshuduo 已提交
352 353
fi

354

355 356
if [ "$2" != "sim" ] && [ "$2" != "python" ] && [ "$2" != "unit" ] && [ "$1" == "full" ]; then
  echo "### run JDBC test cases ###"
357

P
Ping Xiao 已提交
358
  cd $tests_dir
359 360 361 362 363 364 365

  if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
    cd ../../
  else
    cd ../
  fi

P
Ping Xiao 已提交
366
  pwd
367
  cd debug/
P
change  
Ping Xiao 已提交
368
  
P
Ping Xiao 已提交
369
  stopTaosd
370
  rm -rf /var/lib/taos/*
371 372
  nohup build/bin/taosd -c /etc/taos/ > /dev/null 2>&1 &
  sleep 30
P
change  
Ping Xiao 已提交
373
  
374
  cd $tests_dir/../src/connector/jdbc  
P
Ping Xiao 已提交
375
  
P
change  
Ping Xiao 已提交
376
  mvn test > jdbc-out.log 2>&1
377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398
  tail -n 20 jdbc-out.log

  cases=`grep 'Tests run' jdbc-out.log | awk 'END{print $3}'`
  totalJDBCCases=`echo ${cases/%,}`
  failed=`grep 'Tests run' jdbc-out.log | awk 'END{print $5}'`
  JDBCFailed=`echo ${failed/%,}`
  error=`grep 'Tests run' jdbc-out.log | awk 'END{print $7}'`
  JDBCError=`echo ${error/%,}`
  
  totalJDBCFailed=`expr $JDBCFailed + $JDBCError`
  totalJDBCSuccess=`expr $totalJDBCCases - $totalJDBCFailed`

  if [ "$totalJDBCSuccess" -gt "0" ]; then
    echo -e "\n${GREEN} ### Total $totalJDBCSuccess JDBC case(s) succeed! ### ${NC}"
  fi
  
  if [ "$totalJDBCFailed" -ne "0" ]; then
    echo -e "\n${RED} ### Total $totalJDBCFailed JDBC case(s) failed! ### ${NC}"
  fi
  dohavecore 1
fi

399 400 401 402 403 404 405 406 407 408 409 410 411 412
if [ "$2" != "sim" ] && [ "$2" != "python" ] && [ "$2" != "jdbc" ] && [ "$1" == "full" ]; then
  echo "### run Unit tests ###"  

  stopTaosd
  cd $tests_dir

  if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
    cd ../../
  else
    cd ../
  fi

  pwd
  cd debug/build/bin
413
  rm -rf /var/lib/taos/*
414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436
  nohup ./taosd -c /etc/taos/ > /dev/null 2>&1 &
  sleep 30
  
  pwd
  ./queryTest > unittest-out.log 2>&1
  tail -n 20 unittest-out.log

  totalUnitTests=`grep "Running" unittest-out.log | awk '{print $3}'`  
  totalUnitSuccess=`grep 'PASSED' unittest-out.log | awk '{print $4}'`
  totalUnitFailed=`expr $totalUnitTests - $totalUnitSuccess`

  if [ "$totalUnitSuccess" -gt "0" ]; then
    echo -e "\n${GREEN} ### Total $totalUnitSuccess Unit test succeed! ### ${NC}"
  fi
  
  if [ "$totalUnitFailed" -ne "0" ]; then
    echo -e "\n${RED} ### Total $totalUnitFailed Unit test failed! ### ${NC}"
  fi
  dohavecore 1
fi


exit $(($totalFailed + $totalPyFailed + $totalJDBCFailed + $totalUnitFailed))