From 1980eceabed720dc2cd337c9b85ea1f3d593915c Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Fri, 19 Jun 2020 10:30:54 +0800 Subject: [PATCH 1/3] make pytest find so lib automatically [TD-693] --- tests/test-all.sh | 65 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 46 insertions(+), 19 deletions(-) diff --git a/tests/test-all.sh b/tests/test-all.sh index 0c91229120..90ab0b0bea 100755 --- a/tests/test-all.sh +++ b/tests/test-all.sh @@ -1,22 +1,5 @@ #!/bin/bash -function runSimCaseOneByOne { - while read -r line; do - if [[ $line =~ ^run.* ]]; then - case=`echo $line | awk '{print $2}'` - ./test.sh -f $case 2>&1 | grep 'success\|failed\|fault' | grep -v 'default' | tee -a out.log - fi - done < $1 -} - -function runPyCaseOneByOne { - while read -r line; do - if [[ $line =~ ^python.* ]]; then - $line 2>&1 | grep 'successfully executed\|failed\|fault' | grep -v 'default'| tee -a pytest-out.log - fi - done < $1 -} - # Color setting RED='\033[0;31m' GREEN='\033[1;32m' @@ -24,10 +7,35 @@ GREEN_DARK='\033[0;32m' GREEN_UNDERLINE='\033[4;32m' NC='\033[0m' +function runSimCaseOneByOne { + while read -r line; do + if [[ $line =~ ^run.* ]]; then + case=`echo $line | awk '{print $NF}'` + ./test.sh -f $case > /dev/null && \ + echo -e "${GREEN}$case success${NC}" || \ + echo -e "${RED}$case failed${NC}" | tee -a out.log + fi + done < $1 +} + +function runPyCaseOneByOne { + while read -r line; do + if [[ $line =~ ^python.* ]]; then + if [[ $line != *sleep* ]]; then + case=`echo $line|awk '{print $NF}'` + $line > /dev/null 2>&1 && \ + echo -e "${GREEN}$case success${NC}" || \ + echo -e "${RED}$case failed${NC}" | tee -a pytest-out.log + else + $line > /dev/null 2>&1 + fi + fi + done < $1 +} + totalFailed=0 totalPyFailed=0 - current_dir=`pwd` if [ "$2" != "python" ]; then @@ -67,6 +75,25 @@ fi if [ "$2" != "sim" ]; then echo "### run Python test case ###" + + IN_TDINTERNAL="community" + + if [[ "$current_dir" == *"$IN_TDINTERNAL"* ]]; then + 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 + cd $current_dir/pytest [ -f pytest-out.log ] && rm -f pytest-out.log @@ -81,7 +108,7 @@ if [ "$2" != "sim" ]; then echo "### run Python smoke test ###" runPyCaseOneByOne smoketest.sh fi - totalPySuccess=`grep 'successfully executed' pytest-out.log | wc -l` + totalPySuccess=`grep 'success' pytest-out.log | wc -l` if [ "$totalPySuccess" -gt "0" ]; then echo -e "${GREEN} ### Total $totalPySuccess python case(s) succeed! ### ${NC}" From 8754b640cd6b85c1b3f88bb13e0f764d419e01b6 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Fri, 19 Jun 2020 11:08:22 +0800 Subject: [PATCH 2/3] make sim test output redirect stderr to null too. --- tests/test-all.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-all.sh b/tests/test-all.sh index 90ab0b0bea..c4988c31c6 100755 --- a/tests/test-all.sh +++ b/tests/test-all.sh @@ -11,7 +11,7 @@ function runSimCaseOneByOne { while read -r line; do if [[ $line =~ ^run.* ]]; then case=`echo $line | awk '{print $NF}'` - ./test.sh -f $case > /dev/null && \ + ./test.sh -f $case > /dev/null 2>&1 && \ echo -e "${GREEN}$case success${NC}" || \ echo -e "${RED}$case failed${NC}" | tee -a out.log fi From 63503e91fdcbdc29023906b712f253c7436aadaf Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Fri, 19 Jun 2020 14:04:44 +0800 Subject: [PATCH 3/3] add spend time statistics. --- tests/test-all.sh | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/tests/test-all.sh b/tests/test-all.sh index c4988c31c6..275c6b1677 100755 --- a/tests/test-all.sh +++ b/tests/test-all.sh @@ -11,9 +11,12 @@ function runSimCaseOneByOne { while read -r line; do if [[ $line =~ ^run.* ]]; then case=`echo $line | awk '{print $NF}'` + start_time=`date +%s` ./test.sh -f $case > /dev/null 2>&1 && \ - echo -e "${GREEN}$case success${NC}" || \ + echo -e "${GREEN}$case success${NC}" | tee -a out.log || \ echo -e "${RED}$case failed${NC}" | tee -a out.log + end_time=`date +%s` + echo execution time of $case was `expr $end_time - $start_time`s. | tee -a out.log fi done < $1 } @@ -23,9 +26,12 @@ function runPyCaseOneByOne { if [[ $line =~ ^python.* ]]; then if [[ $line != *sleep* ]]; then case=`echo $line|awk '{print $NF}'` + start_time=`date +%s` $line > /dev/null 2>&1 && \ - echo -e "${GREEN}$case success${NC}" || \ + echo -e "${GREEN}$case success${NC}" | tee -a pytest-out.log || \ echo -e "${RED}$case failed${NC}" | tee -a pytest-out.log + end_time=`date +%s` + echo execution time of $case was `expr $end_time - $start_time`s. | tee -a pytest-out.log else $line > /dev/null 2>&1 fi @@ -36,11 +42,11 @@ function runPyCaseOneByOne { totalFailed=0 totalPyFailed=0 -current_dir=`pwd` +tests_dir=`pwd` if [ "$2" != "python" ]; then echo "### run TSIM test case ###" - cd $current_dir/script + cd $tests_dir/script [ -f out.log ] && rm -f out.log if [ "$1" == "cron" ]; then @@ -61,13 +67,13 @@ if [ "$2" != "python" ]; then totalSuccess=`expr $totalSuccess - $totalBasic` fi - echo -e "${GREEN} ### Total $totalSuccess TSIM case(s) succeed! ### ${NC}" + echo -e "\n${GREEN} ### Total $totalSuccess TSIM case(s) succeed! ### ${NC}" totalFailed=`grep 'failed\|fault' out.log | wc -l` # echo -e "${RED} ### Total $totalFailed TSIM case(s) failed! ### ${NC}" if [ "$totalFailed" -ne "0" ]; then - echo -e "${RED} ### Total $totalFailed TSIM case(s) failed! ### ${NC}" + echo -e "\n${RED} ### Total $totalFailed TSIM case(s) failed! ### ${NC}" # exit $totalFailed fi @@ -76,9 +82,10 @@ fi if [ "$2" != "sim" ]; then echo "### run Python test case ###" + cd $tests_dir IN_TDINTERNAL="community" - if [[ "$current_dir" == *"$IN_TDINTERNAL"* ]]; then + if [[ "$tests_dir" == *"$IN_TDINTERNAL"* ]]; then cd ../.. else cd ../ @@ -94,7 +101,7 @@ if [ "$2" != "sim" ]; then export LD_LIBRARY_PATH=$TOP_DIR/$LIB_DIR:$LD_LIBRARY_PATH - cd $current_dir/pytest + cd $tests_dir/pytest [ -f pytest-out.log ] && rm -f pytest-out.log @@ -111,12 +118,12 @@ if [ "$2" != "sim" ]; then totalPySuccess=`grep 'success' pytest-out.log | wc -l` if [ "$totalPySuccess" -gt "0" ]; then - echo -e "${GREEN} ### Total $totalPySuccess python case(s) succeed! ### ${NC}" + echo -e "\n${GREEN} ### Total $totalPySuccess python case(s) succeed! ### ${NC}" fi totalPyFailed=`grep 'failed\|fault' pytest-out.log | wc -l` if [ "$totalPyFailed" -ne "0" ]; then - echo -e "${RED} ### Total $totalPyFailed python case(s) failed! ### ${NC}" + echo -e "\n${RED} ### Total $totalPyFailed python case(s) failed! ### ${NC}" # exit $totalPyFailed fi fi