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

3 4 5 6 7 8 9
# Color setting
RED='\033[0;31m'
GREEN='\033[1;32m'
GREEN_DARK='\033[0;32m'
GREEN_UNDERLINE='\033[4;32m'
NC='\033[0m'

10 11 12
function runSimCaseOneByOne {
  while read -r line; do
    if [[ $line =~ ^run.* ]]; then
13
      case=`echo $line | awk '{print $NF}'`
S
Shuduo Sang 已提交
14
      start_time=`date +%s`
15
      ./test.sh -f $case > /dev/null 2>&1 && \
S
Shuduo Sang 已提交
16
        echo -e "${GREEN}$case success${NC}" | tee -a out.log || \
17
        echo -e "${RED}$case failed${NC}" | tee -a out.log
S
Shuduo Sang 已提交
18 19
      end_time=`date +%s`
      echo execution time of $case was `expr $end_time - $start_time`s. | tee -a out.log
20 21 22 23 24 25 26
    fi
  done < $1
}

function runPyCaseOneByOne {
  while read -r line; do
    if [[ $line =~ ^python.* ]]; then
27 28
      if [[ $line != *sleep* ]]; then
        case=`echo $line|awk '{print $NF}'`
S
Shuduo Sang 已提交
29
        start_time=`date +%s`
S
Shuduo Sang 已提交
30
        $line && \
S
Shuduo Sang 已提交
31
          echo -e "${GREEN}$case success${NC}" | tee -a pytest-out.log || \
32
          echo -e "${RED}$case failed${NC}" | tee -a pytest-out.log
S
Shuduo Sang 已提交
33 34
        end_time=`date +%s`
        echo execution time of $case was `expr $end_time - $start_time`s. | tee -a pytest-out.log
35 36 37
      else
        $line > /dev/null 2>&1
      fi
38 39 40 41
    fi
  done < $1
}

42 43
totalFailed=0
totalPyFailed=0
sangshuduo's avatar
sangshuduo 已提交
44

S
Shuduo Sang 已提交
45
tests_dir=`pwd`
sangshuduo's avatar
sangshuduo 已提交
46

47 48
if [ "$2" != "python" ]; then
  echo "### run TSIM test case ###"
S
Shuduo Sang 已提交
49
  cd $tests_dir/script
50

51 52 53 54 55 56 57
  [ -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 ###"
    runSimCaseOneByOne fullGeneralSuite.sim
S
Shuduo Sang 已提交
58
  elif [ "$1" == "smoke" ] || [ -z "$1" ]; then
59 60 61
    echo "### run TSIM smoke test ###"
    runSimCaseOneByOne basicSuite.sim
  fi
62

63 64
  totalSuccess=`grep 'success' out.log | wc -l`
  totalBasic=`grep success out.log | grep Suite | wc -l`
65

66 67 68
  if [ "$totalSuccess" -gt "0" ]; then
    totalSuccess=`expr $totalSuccess - $totalBasic`
  fi
sangshuduo's avatar
sangshuduo 已提交
69

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

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

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

78 79
#  exit $totalFailed
  fi
sangshuduo's avatar
sangshuduo 已提交
80 81
fi

82 83
if [ "$2" != "sim" ]; then
  echo "### run Python test case ###"
84

S
Shuduo Sang 已提交
85
  cd $tests_dir
86 87
  IN_TDINTERNAL="community"

S
Shuduo Sang 已提交
88
  if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
    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 已提交
104
  cd $tests_dir/pytest
105 106 107 108 109 110 111 112 113

  [ -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
S
Shuduo Sang 已提交
114
  elif [ "$1" == "smoke" ] || [ -z "$1" ]; then
115 116 117
    echo "### run Python smoke test ###"
    runPyCaseOneByOne smoketest.sh
  fi
118
  totalPySuccess=`grep 'success' pytest-out.log | wc -l`
119 120

  if [ "$totalPySuccess" -gt "0" ]; then
S
Shuduo Sang 已提交
121
    echo -e "\n${GREEN} ### Total $totalPySuccess python case(s) succeed! ### ${NC}"
122 123 124 125
  fi

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

131
exit $(($totalFailed + $totalPyFailed))