Merge pull request #1621 from taosdata/add-test-coverage-support
Add test coverage support
This commit is contained in:
commit
84e0df6b7e
304
.travis.yml
304
.travis.yml
|
@ -1,114 +1,19 @@
|
||||||
#
|
#
|
||||||
# Configuration
|
# Configuration
|
||||||
#
|
#
|
||||||
git:
|
|
||||||
depth: 1
|
|
||||||
|
|
||||||
language: c
|
|
||||||
|
|
||||||
compiler:
|
|
||||||
- clang
|
|
||||||
- gcc
|
|
||||||
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
# - osx
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- |-
|
|
||||||
case $TRAVIS_OS_NAME in
|
|
||||||
linux)
|
|
||||||
sudo apt -y update
|
|
||||||
sudo apt -y install python-pip python3-pip python-setuptools python3-setuptools
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
addons:
|
|
||||||
coverity_scan:
|
|
||||||
|
|
||||||
# GitHub project metadata
|
|
||||||
# ** specific to your project **
|
|
||||||
project:
|
|
||||||
name: TDengine
|
|
||||||
version: 2.x
|
|
||||||
description: TDengine
|
|
||||||
|
|
||||||
# Where email notification of build analysis results will be sent
|
|
||||||
notification_email: sdsang@taosdata.com
|
|
||||||
|
|
||||||
# Commands to prepare for build_command
|
|
||||||
# ** likely specific to your build **
|
|
||||||
build_command_prepend: cmake ..
|
|
||||||
|
|
||||||
# The command that will be added as an argument to "cov-build" to compile your project for analysis,
|
|
||||||
# ** likely specific to your build **
|
|
||||||
build_command: cmake --build .
|
|
||||||
|
|
||||||
# Pattern to match selecting branches that will run analysis. We recommend leaving this set to 'coverity_scan'.
|
|
||||||
# Take care in resource usage, and consider the build frequency allowances per
|
|
||||||
# https://scan.coverity.com/faq#frequency
|
|
||||||
branch_pattern: coverity_scan
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
- mkdir debug
|
|
||||||
- cd debug
|
|
||||||
|
|
||||||
script:
|
|
||||||
- cmake ..
|
|
||||||
- cmake --build . || exit $?
|
|
||||||
- |-
|
|
||||||
case $TRAVIS_OS_NAME in
|
|
||||||
linux)
|
|
||||||
# Color setting
|
|
||||||
RED='\033[0;31m'
|
|
||||||
GREEN='\033[1;32m'
|
|
||||||
GREEN_DARK='\033[0;32m'
|
|
||||||
GREEN_UNDERLINE='\033[4;32m'
|
|
||||||
NC='\033[0m'
|
|
||||||
|
|
||||||
sudo make install
|
|
||||||
|
|
||||||
cd ../tests/script
|
|
||||||
sudo ./test.sh 2>&1 | grep 'success\|failed' | tee out.txt
|
|
||||||
|
|
||||||
total_success=`grep success out.txt | wc -l`
|
|
||||||
|
|
||||||
if [ "$total_success" -gt "0" ]; then
|
|
||||||
total_success=`expr $total_success - 1`
|
|
||||||
echo -e "${GREEN} ### Total $total_success TSIM case(s) succeed! ### ${NC}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
total_failed=`grep failed out.txt | wc -l`
|
|
||||||
if [ "$total_failed" -ne "0" ]; then
|
|
||||||
echo -e "${RED} ### Total $total_failed TSIM case(s) failed! ### ${NC}"
|
|
||||||
exit $total_failed
|
|
||||||
fi
|
|
||||||
|
|
||||||
pip install --user ../../src/connector/python/linux/python2/
|
|
||||||
pip3 install --user ../../src/connector/python/linux/python3/
|
|
||||||
|
|
||||||
cd ../pytest
|
|
||||||
sudo ./simpletest.sh 2>&1 | grep 'successfully executed\|failed' | tee pytest-out.txt
|
|
||||||
total_py_success=`grep 'successfully executed' pytest-out.txt | wc -l`
|
|
||||||
|
|
||||||
if [ "$total_py_success" -gt "0" ]; then
|
|
||||||
echo -e "${GREEN} ### Total $total_py_success python case(s) succeed! ### ${NC}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
total_py_failed=`grep 'failed' pytest-out.txt | wc -l`
|
|
||||||
if [ "$total_py_failed" -ne "0" ]; then
|
|
||||||
echo -e "${RED} ### Total $total_py_failed python case(s) failed! ### ${NC}"
|
|
||||||
exit $total_py_failed
|
|
||||||
fi
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build Matrix
|
# Build Matrix
|
||||||
#
|
#
|
||||||
matrix:
|
matrix:
|
||||||
- os: linux
|
- os: linux
|
||||||
|
language: c
|
||||||
|
|
||||||
|
git:
|
||||||
|
- depth: 1
|
||||||
|
|
||||||
|
compiler: gcc
|
||||||
|
env: DESC="linux/gcc build and test"
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
|
@ -120,8 +25,193 @@ matrix:
|
||||||
- python3-pip
|
- python3-pip
|
||||||
- python3-setuptools
|
- python3-setuptools
|
||||||
|
|
||||||
# - os: osx
|
before_install:
|
||||||
# addons:
|
- sudo apt update -y -qq
|
||||||
# homebrew:
|
- sudo apt install -y net-tools python-pip python-setuptools python3-pip python3-setuptools
|
||||||
# - cmake
|
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- cd ${TRAVIS_BUILD_DIR}
|
||||||
|
- mkdir debug
|
||||||
|
- cd debug
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cmake ..
|
||||||
|
- make
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- |-
|
||||||
|
case $TRAVIS_OS_NAME in
|
||||||
|
linux)
|
||||||
|
cd ${TRAVIS_BUILD_DIR}/debug
|
||||||
|
sudo make install || exit $?
|
||||||
|
|
||||||
|
pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
|
||||||
|
pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/
|
||||||
|
|
||||||
|
cd ${TRAVIS_BUILD_DIR}/tests
|
||||||
|
bash ./test-all.sh
|
||||||
|
|
||||||
|
if [ "$?" -ne "0" ]; then
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
language: c
|
||||||
|
compiler: gcc
|
||||||
|
env: COVERITY_SCAN=true
|
||||||
|
git:
|
||||||
|
- depth: 1
|
||||||
|
|
||||||
|
script:
|
||||||
|
- echo "this job is for coverity scan"
|
||||||
|
|
||||||
|
addons:
|
||||||
|
coverity_scan:
|
||||||
|
|
||||||
|
# GitHub project metadata
|
||||||
|
# ** specific to your project **
|
||||||
|
project:
|
||||||
|
name: sangshuduo/TDengine
|
||||||
|
version: 2.x
|
||||||
|
description: sangshuduo/TDengine
|
||||||
|
|
||||||
|
# Where email notification of build analysis results will be sent
|
||||||
|
notification_email: sangshuduo@gmail.com
|
||||||
|
|
||||||
|
# Commands to prepare for build_command
|
||||||
|
# ** likely specific to your build **
|
||||||
|
build_command_prepend: cmake ..
|
||||||
|
|
||||||
|
# The command that will be added as an argument to "cov-build" to compile your project for analysis,
|
||||||
|
# ** likely specific to your build **
|
||||||
|
build_command: cmake --build .
|
||||||
|
|
||||||
|
# Pattern to match selecting branches that will run analysis. We recommend leaving this set to 'coverity_scan'.
|
||||||
|
# Take care in resource usage, and consider the build frequency allowances per
|
||||||
|
# https://scan.coverity.com/faq#frequency
|
||||||
|
branch_pattern: coverity_scan
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
language: c
|
||||||
|
compiler: gcc
|
||||||
|
env: ENV_COVER=true
|
||||||
|
|
||||||
|
git:
|
||||||
|
- depth: 1
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- build-essential
|
||||||
|
- cmake
|
||||||
|
- net-tools
|
||||||
|
- python-pip
|
||||||
|
- python-setuptools
|
||||||
|
- python3-pip
|
||||||
|
- python3-setuptools
|
||||||
|
- lcov
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- sudo apt update -y -qq
|
||||||
|
- sudo apt install -y net-tools python-pip python-setuptools python3-pip python3-setuptools lcov
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- cd ${TRAVIS_BUILD_DIR}
|
||||||
|
- mkdir debug
|
||||||
|
- cd debug
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cmake -DCOVER=true ..
|
||||||
|
- make
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- |-
|
||||||
|
case $TRAVIS_OS_NAME in
|
||||||
|
linux)
|
||||||
|
cd ${TRAVIS_BUILD_DIR}/debug
|
||||||
|
sudo make install || exit $?
|
||||||
|
|
||||||
|
pip install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python2/
|
||||||
|
pip3 install --user ${TRAVIS_BUILD_DIR}/src/connector/python/linux/python3/
|
||||||
|
|
||||||
|
cd ${TRAVIS_BUILD_DIR}/tests
|
||||||
|
|
||||||
|
bash ./test-all.sh
|
||||||
|
|
||||||
|
if [ "$?" -ne "0" ]; then
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${TRAVIS_BUILD_DIR}
|
||||||
|
lcov -d . --capture -o coverage.info
|
||||||
|
lcov -l coverage.info || exit $?
|
||||||
|
|
||||||
|
gem install coveralls-lcov
|
||||||
|
|
||||||
|
# Color setting
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[1;32m'
|
||||||
|
GREEN_DARK='\033[0;32m'
|
||||||
|
GREEN_UNDERLINE='\033[4;32m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
coveralls-lcov coverage.info
|
||||||
|
if [ "$?" -eq "0" ]; then
|
||||||
|
echo -e "${GREEN} ## Uploaded to Coveralls.io! ## ${NC}"
|
||||||
|
else
|
||||||
|
echo -e "${RED} ## Coveralls.io not collect coverage report! ## ${NC} "
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
bash <(curl -s https://codecov.io/bash) -f coverage.info
|
||||||
|
if [ "$?" -eq "0" ]; then
|
||||||
|
echo -e "${GREEN} ## Uploaded to Codecov! ## ${NC} "
|
||||||
|
else
|
||||||
|
echo -e "${RED} ## Codecov did not collect coverage report! ## ${NC} "
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
language: c
|
||||||
|
compiler: clang
|
||||||
|
env: DESC="linux/clang build"
|
||||||
|
git:
|
||||||
|
- depth: 1
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- build-essential
|
||||||
|
- cmake
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- cd ${TRAVIS_BUILD_DIR}
|
||||||
|
- mkdir debug
|
||||||
|
- cd debug
|
||||||
|
|
||||||
|
script:
|
||||||
|
- cmake ..
|
||||||
|
- make
|
||||||
|
|
||||||
|
# - os: osx
|
||||||
|
# language: c
|
||||||
|
# compiler: clang
|
||||||
|
# env: DESC="mac/clang build"
|
||||||
|
# git:
|
||||||
|
# - depth: 1
|
||||||
|
# addons:
|
||||||
|
# homebrew:
|
||||||
|
# - cmake
|
||||||
|
#
|
||||||
|
# script:
|
||||||
|
# - cd ${TRAVIS_BUILD_DIR}
|
||||||
|
# - mkdir debug
|
||||||
|
# - cd debug
|
||||||
|
# - cmake ..
|
||||||
|
# - make
|
||||||
|
|
|
@ -122,6 +122,12 @@ IF (TD_LINUX_64)
|
||||||
link_libraries(/usr/lib/libargp.a)
|
link_libraries(/usr/lib/libargp.a)
|
||||||
ADD_DEFINITIONS(-D_ALPINE)
|
ADD_DEFINITIONS(-D_ALPINE)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
IF (${COVER} MATCHES "true")
|
||||||
|
MESSAGE(STATUS "Test coverage mode, add extra flags")
|
||||||
|
SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage")
|
||||||
|
SET(GCC_COVERAGE_LINK_FLAGS "-lgcov --coverage")
|
||||||
|
SET(COMMON_FLAGS "${COMMON_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
|
||||||
|
ENDIF ()
|
||||||
ELSEIF (TD_LINUX_32)
|
ELSEIF (TD_LINUX_32)
|
||||||
IF (NOT TD_ARM)
|
IF (NOT TD_ARM)
|
||||||
EXIT ()
|
EXIT ()
|
||||||
|
@ -138,6 +144,12 @@ IF (TD_LINUX_64)
|
||||||
link_library(/usr/lib/libargp.a)
|
link_library(/usr/lib/libargp.a)
|
||||||
ADD_DEFINITIONS(-D_ALPINE)
|
ADD_DEFINITIONS(-D_ALPINE)
|
||||||
ENDIF ()
|
ENDIF ()
|
||||||
|
IF (${COVER} MATCHES "true")
|
||||||
|
MESSAGE(STATUS "Test coverage mode, add extra flags")
|
||||||
|
SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage")
|
||||||
|
SET(GCC_COVERAGE_LINK_FLAGS "-lgcov --coverage")
|
||||||
|
SET(COMMON_FLAGS "${COMMON_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
|
||||||
|
ENDIF ()
|
||||||
ELSEIF (TD_WINDOWS_64)
|
ELSEIF (TD_WINDOWS_64)
|
||||||
SET(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "" FORCE)
|
SET(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "" FORCE)
|
||||||
IF (NOT TD_GODLL)
|
IF (NOT TD_GODLL)
|
||||||
|
|
|
@ -41,8 +41,8 @@ class TDTestCase:
|
||||||
# tdSql.execute('insert into tb values (now - 7m , 10)')
|
# tdSql.execute('insert into tb values (now - 7m , 10)')
|
||||||
# tdSql.execute('insert into tb values (now - 8m , 10)')
|
# tdSql.execute('insert into tb values (now - 8m , 10)')
|
||||||
|
|
||||||
# tdSql.query("select * from tb")
|
tdSql.query("select * from tb")
|
||||||
# tdSql.checkRows(insertRows)
|
tdSql.checkRows(insertRows)
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
tdSql.close()
|
tdSql.close()
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
sudo python3 ./test.py -f insert/basic.py
|
sudo python ./test.py -f insert/basic.py
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Color setting
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[1;32m'
|
||||||
|
GREEN_DARK='\033[0;32m'
|
||||||
|
GREEN_UNDERLINE='\033[4;32m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
cd script
|
||||||
|
sudo ./test.sh 2>&1 | grep 'success\|failed' | tee out.txt
|
||||||
|
|
||||||
|
total_success=`grep success out.txt | wc -l`
|
||||||
|
|
||||||
|
if [ "$total_success" -gt "0" ]; then
|
||||||
|
total_success=`expr $total_success - 1`
|
||||||
|
echo -e "${GREEN} ### Total $total_success TSIM case(s) succeed! ### ${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
total_failed=`grep failed out.txt | wc -l`
|
||||||
|
if [ "$total_failed" -ne "0" ]; then
|
||||||
|
echo -e "${RED} ### Total $total_failed TSIM case(s) failed! ### ${NC}"
|
||||||
|
exit $total_failed
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ../pytest
|
||||||
|
sudo ./simpletest.sh 2>&1 | grep 'successfully executed\|failed' | tee pytest-out.txt
|
||||||
|
total_py_success=`grep 'successfully executed' pytest-out.txt | wc -l`
|
||||||
|
|
||||||
|
if [ "$total_py_success" -gt "0" ]; then
|
||||||
|
echo -e "${GREEN} ### Total $total_py_success python case(s) succeed! ### ${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
total_py_failed=`grep 'failed' pytest-out.txt | wc -l`
|
||||||
|
if [ "$total_py_failed" -ne "0" ]; then
|
||||||
|
echo -e "${RED} ### Total $total_py_failed python case(s) failed! ### ${NC}"
|
||||||
|
exit $total_py_failed
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue