test.sh 4.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/bin/bash

##################################################
#
# Do simulation test
#
##################################################

set +e

FILE_NAME=
RELEASE=0
ASYNC=0
VALGRIND=0
UNIQUE=0
UNAME_BIN=`which uname`
OS_TYPE=`$UNAME_BIN`
S
Shengliang Guan 已提交
18
while getopts "f:agvum" arg
19 20 21 22 23 24 25 26 27 28 29
do
  case $arg in
    f)
      FILE_NAME=$OPTARG
      ;;
    v)
      VALGRIND=1
      ;;
    u)
      UNIQUE=1
      ;;
S
Shengliang Guan 已提交
30 31 32
    g)
      VALGRIND=2
      ;;  
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
    ?)
      echo "unknow argument"
      ;;
  esac
done

cd .

# Get responsible directories
CODE_DIR=`dirname $0`
CODE_DIR=`pwd`

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

TOP_DIR=`pwd`
wafwerar's avatar
wafwerar 已提交
53
TAOSD_DIR=`find . -name "taosd"|grep bin|head -n1`
54 55 56 57 58 59 60 61

if [[ "$OS_TYPE" != "Darwin" ]]; then
  cut_opt="--field="
else
  cut_opt="-f "
fi

if [[ "$TAOSD_DIR" == *"$IN_TDINTERNAL"* ]]; then
wafwerar's avatar
wafwerar 已提交
62
  BIN_DIR=`find . -name "taosd"|grep bin|head -n1|cut -d '/' ${cut_opt}2,3`
63
else
wafwerar's avatar
wafwerar 已提交
64
  BIN_DIR=`find . -name "taosd"|grep bin|head -n1|cut -d '/' ${cut_opt}2`
65 66
fi

wafwerar's avatar
wafwerar 已提交
67
declare -x BUILD_DIR=$TOP_DIR/$BIN_DIR
68

wafwerar's avatar
wafwerar 已提交
69
declare -x SIM_DIR=$TOP_DIR/sim
70

wafwerar's avatar
wafwerar 已提交
71
PROGRAM=$BUILD_DIR/build/bin/tsim
72 73 74 75 76

PRG_DIR=$SIM_DIR/tsim
CFG_DIR=$PRG_DIR/cfg
LOG_DIR=$PRG_DIR/log
DATA_DIR=$PRG_DIR/data
S
Shengliang Guan 已提交
77
ASAN_DIR=$PRG_DIR/asan
78 79 80 81 82 83 84 85

chmod -R 777 $PRG_DIR
echo "------------------------------------------------------------------------"
echo "Start TDengine Testing Case ..."
echo "BUILD_DIR: $BUILD_DIR"
echo "SIM_DIR  : $SIM_DIR"
echo "CODE_DIR : $CODE_DIR"
echo "CFG_DIR  : $CFG_DIR"
S
Shengliang Guan 已提交
86
echo "ASAN_DIR  : $ASAN_DIR"
87

P
plum-lihui 已提交
88
rm -rf $SIM_DIR/*
89 90
rm -rf $LOG_DIR
rm -rf $CFG_DIR
S
Shengliang Guan 已提交
91
rm -rf $ASAN_DIR
92 93 94 95

mkdir -p $PRG_DIR
mkdir -p $LOG_DIR
mkdir -p $CFG_DIR
S
Shengliang Guan 已提交
96
mkdir -p $ASAN_DIR
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131

TAOS_CFG=$PRG_DIR/cfg/taos.cfg
touch -f $TAOS_CFG
TAOS_FLAG=$PRG_DIR/flag

#HOSTNAME=`hostname -f`
HOSTNAME=localhost

echo " "                                          >> $TAOS_CFG
echo "firstEp            ${HOSTNAME}:7100"        >> $TAOS_CFG
echo "secondEp           ${HOSTNAME}:7200"        >> $TAOS_CFG
echo "serverPort         7100"                    >> $TAOS_CFG
echo "dataDir            $DATA_DIR"               >> $TAOS_CFG
echo "logDir             $LOG_DIR"                >> $TAOS_CFG
echo "scriptDir          ${CODE_DIR}"             >> $TAOS_CFG
echo "numOfLogLines      100000000"               >> $TAOS_CFG
echo "rpcDebugFlag       143"                     >> $TAOS_CFG
echo "tmrDebugFlag       131"                     >> $TAOS_CFG
echo "cDebugFlag         143"                     >> $TAOS_CFG
echo "udebugFlag         143"                     >> $TAOS_CFG
echo "debugFlag          143"                     >> $TAOS_CFG
echo "wal                0"                       >> $TAOS_CFG
echo "asyncLog           0"                       >> $TAOS_CFG
echo "locale             en_US.UTF-8"             >> $TAOS_CFG
echo "enableCoreFile     1"                       >> $TAOS_CFG
echo " "                                          >> $TAOS_CFG

ulimit -n 600000
ulimit -c unlimited

#sudo sysctl -w kernel.core_pattern=$TOP_DIR/core.%p.%e

if [ -n "$FILE_NAME" ]; then
  echo "------------------------------------------------------------------------"
  if [ $VALGRIND -eq 1 ]; then
132
    FLAG="-v"
X
Xiaoyu Wang 已提交
133 134
    echo valgrind --tool=memcheck --leak-check=full --show-reachable=no  --track-origins=yes --child-silent-after-fork=yes --show-leak-kinds=all --num-callers=20 -v  --workaround-gcc296-bugs=yes  --log-file=${LOG_DIR}/valgrind-tsim.log $PROGRAM -c $CFG_DIR -f $FILE_NAME $FLAG
    valgrind --tool=memcheck --leak-check=full --show-reachable=no  --track-origins=yes --child-silent-after-fork=yes --show-leak-kinds=all --num-callers=20 -v  --workaround-gcc296-bugs=yes  --log-file=${LOG_DIR}/valgrind-tsim.log $PROGRAM -c $CFG_DIR -f $FILE_NAME $FLAG
S
Shengliang Guan 已提交
135 136 137
  elif [ $VALGRIND -eq 2 ]; then
    echo "ExcuteCmd:" $PROGRAM -c $CFG_DIR -f $FILE_NAME -v
    $PROGRAM -c $CFG_DIR -f $FILE_NAME -v
138
  else
S
Shengliang Guan 已提交
139 140
    echo "ExcuteCmd:" $PROGRAM -c $CFG_DIR -f $FILE_NAME
    $PROGRAM -c $CFG_DIR -f $FILE_NAME 2> $ASAN_DIR/tsim.asan 
S
Shengliang Guan 已提交
141
    $CODE_DIR/sh/checkAsan.sh
142 143 144 145 146 147 148
  fi
else
  echo "ExcuteCmd:" $PROGRAM -c $CFG_DIR -f basicSuite.sim
  echo "------------------------------------------------------------------------"
  $PROGRAM -c $CFG_DIR -f basicSuite.sim
fi