Merge branch 'develop' into hotfix/test
This commit is contained in:
commit
89965a603c
|
@ -1,18 +1,36 @@
|
||||||
|
import hudson.model.Result
|
||||||
|
import jenkins.model.CauseOfInterruption
|
||||||
properties([pipelineTriggers([githubPush()])])
|
properties([pipelineTriggers([githubPush()])])
|
||||||
node {
|
node {
|
||||||
git url: 'https://github.com/taosdata/TDengine'
|
git url: 'https://github.com/taosdata/TDengine.git'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// execute this before anything else, including requesting any time on an agent
|
def abortPreviousBuilds() {
|
||||||
if (currentBuild.rawBuild.getCauses().toString().contains('BranchIndexingCause')) {
|
def currentJobName = env.JOB_NAME
|
||||||
print "INFO: Build skipped due to trigger being Branch Indexing"
|
def currentBuildNumber = env.BUILD_NUMBER.toInteger()
|
||||||
currentBuild.result = 'ABORTED' // optional, gives a better hint to the user that it's been skipped, rather than the default which shows it's successful
|
def jobs = Jenkins.instance.getItemByFullName(currentJobName)
|
||||||
return
|
def builds = jobs.getBuilds()
|
||||||
|
|
||||||
|
for (build in builds) {
|
||||||
|
if (!build.isBuilding()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentBuildNumber == build.getNumber().toInteger()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
build.doKill() //doTerm(),doKill(),doTerm()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//abort previous build
|
||||||
|
abortPreviousBuilds()
|
||||||
|
def abort_previous(){
|
||||||
|
def buildNumber = env.BUILD_NUMBER as int
|
||||||
|
if (buildNumber > 1) milestone(buildNumber - 1)
|
||||||
|
milestone(buildNumber)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def pre_test(){
|
def pre_test(){
|
||||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
||||||
sh '''
|
sh '''
|
||||||
|
@ -20,6 +38,7 @@ def pre_test(){
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
sh '''
|
sh '''
|
||||||
|
|
||||||
cd ${WKC}
|
cd ${WKC}
|
||||||
rm -rf *
|
rm -rf *
|
||||||
cd ${WK}
|
cd ${WK}
|
||||||
|
@ -44,27 +63,35 @@ def pre_test(){
|
||||||
}
|
}
|
||||||
pipeline {
|
pipeline {
|
||||||
agent none
|
agent none
|
||||||
|
|
||||||
environment{
|
environment{
|
||||||
WK = '/var/lib/jenkins/workspace/TDinternal'
|
WK = '/var/lib/jenkins/workspace/TDinternal'
|
||||||
WKC= '/var/lib/jenkins/workspace/TDinternal/community'
|
WKC= '/var/lib/jenkins/workspace/TDinternal/community'
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
|
|
||||||
|
|
||||||
stage('Parallel test stage') {
|
stage('Parallel test stage') {
|
||||||
|
//only build pr
|
||||||
|
when {
|
||||||
|
changeRequest()
|
||||||
|
}
|
||||||
parallel {
|
parallel {
|
||||||
stage('python p1') {
|
stage('python') {
|
||||||
agent{label 'p1'}
|
agent{label 'pytest'}
|
||||||
steps {
|
steps {
|
||||||
|
|
||||||
pre_test()
|
pre_test()
|
||||||
sh '''
|
sh '''
|
||||||
cd ${WKC}/tests
|
cd ${WKC}/tests
|
||||||
./test-all.sh p1
|
./test-all.sh pytest
|
||||||
date'''
|
date'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('test_b1') {
|
stage('test_b1') {
|
||||||
agent{label 'b1'}
|
agent{label 'b1'}
|
||||||
steps {
|
steps {
|
||||||
pre_test()
|
pre_test()
|
||||||
sh '''
|
sh '''
|
||||||
cd ${WKC}/tests
|
cd ${WKC}/tests
|
||||||
|
@ -117,24 +144,10 @@ pipeline {
|
||||||
date'''
|
date'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('python p2'){
|
|
||||||
agent{label "p2"}
|
|
||||||
steps{
|
|
||||||
pre_test()
|
|
||||||
sh '''
|
|
||||||
date
|
|
||||||
cd ${WKC}/tests
|
|
||||||
./test-all.sh p2
|
|
||||||
date
|
|
||||||
'''
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,6 +173,7 @@ python3 ./test.py -f query/bug2281.py
|
||||||
python3 ./test.py -f query/bug2119.py
|
python3 ./test.py -f query/bug2119.py
|
||||||
python3 ./test.py -f query/isNullTest.py
|
python3 ./test.py -f query/isNullTest.py
|
||||||
python3 ./test.py -f query/queryWithTaosdKilled.py
|
python3 ./test.py -f query/queryWithTaosdKilled.py
|
||||||
|
python3 ./test.py -f query/floatCompare.py
|
||||||
|
|
||||||
#stream
|
#stream
|
||||||
python3 ./test.py -f stream/metric_1.py
|
python3 ./test.py -f stream/metric_1.py
|
||||||
|
|
|
@ -6,7 +6,7 @@ GREEN_DARK='\033[0;32m'
|
||||||
GREEN_UNDERLINE='\033[4;32m'
|
GREEN_UNDERLINE='\033[4;32m'
|
||||||
NC='\033[0m'
|
NC='\033[0m'
|
||||||
nohup /var/lib/jenkins/workspace/TDinternal/debug/build/bin/taosd -c /var/lib/jenkins/workspace/TDinternal/community/sim/dnode1/cfg >/dev/null &
|
nohup /var/lib/jenkins/workspace/TDinternal/debug/build/bin/taosd -c /var/lib/jenkins/workspace/TDinternal/community/sim/dnode1/cfg >/dev/null &
|
||||||
./crash_gen.sh --valgrind -p -t 10 -s 100 -b 4
|
./crash_gen.sh --valgrind -p -t 10 -s 250 -b 4
|
||||||
pidof taosd|xargs kill
|
pidof taosd|xargs kill
|
||||||
grep 'start to execute\|ERROR SUMMARY' valgrind.err|grep -v 'grep'|uniq|tee crash_gen_mem_err.log
|
grep 'start to execute\|ERROR SUMMARY' valgrind.err|grep -v 'grep'|uniq|tee crash_gen_mem_err.log
|
||||||
|
|
||||||
|
|
|
@ -167,6 +167,8 @@ python3 ./test.py -f query/bug2218.py
|
||||||
python3 ./test.py -f query/bug2281.py
|
python3 ./test.py -f query/bug2281.py
|
||||||
python3 ./test.py -f query/bug2119.py
|
python3 ./test.py -f query/bug2119.py
|
||||||
python3 bug2265.py
|
python3 bug2265.py
|
||||||
|
python3 ./test.py -f query/floatCompare.py
|
||||||
|
|
||||||
#stream
|
#stream
|
||||||
python3 ./test.py -f stream/metric_1.py
|
python3 ./test.py -f stream/metric_1.py
|
||||||
python3 ./test.py -f stream/new.py
|
python3 ./test.py -f stream/new.py
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
###################################################################
|
||||||
|
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This file is proprietary and confidential to TAOS Technologies.
|
||||||
|
# No part of this file may be reproduced, stored, transmitted,
|
||||||
|
# disclosed or used in any form or by any means other than as
|
||||||
|
# expressly provided by the written permission from Jianhui Tao
|
||||||
|
#
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from util.log import *
|
||||||
|
from util.cases import *
|
||||||
|
from util.sql import *
|
||||||
|
from util.dnodes import *
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor(), logSql)
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.prepare()
|
||||||
|
print("==========step1")
|
||||||
|
print("create table && insert data")
|
||||||
|
|
||||||
|
tdSql.execute("create table mt0 (ts timestamp, c1 int, c2 float, c3 bigint, c4 smallint, c5 tinyint, c6 double, c7 bool,c8 binary(20),c9 nchar(20))")
|
||||||
|
insertRows = 1000
|
||||||
|
t0 = 1604298064000
|
||||||
|
tdLog.info("insert %d rows" % (insertRows))
|
||||||
|
for i in range(insertRows):
|
||||||
|
ret = tdSql.execute(
|
||||||
|
"insert into mt0 values (%d , %d,%d,%d,%d,%d,%d,%d,'%s','%s')" %
|
||||||
|
(t0+i,i%100,i/2.0,i%41,i%51,i%53,i*1.0,i%2,'taos'+str(i%43),'涛思'+str(i%41)))
|
||||||
|
print("==========step2")
|
||||||
|
print("test percentile with group by normal_col ")
|
||||||
|
tdSql.query('select percentile(c1,1),percentile(c2,1),percentile(c6,1) from mt0 group by c3 limit 3 offset 2')
|
||||||
|
|
||||||
|
tdSql.checkData(0,0,2.48)
|
||||||
|
tdSql.checkData(0,0,2.48)
|
||||||
|
tdSql.checkData(0,2,11.84)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,172 @@
|
||||||
|
###################################################################
|
||||||
|
# Copyright (c) 2016 by TAOS Technologies, Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# This file is proprietary and confidential to TAOS Technologies.
|
||||||
|
# No part of this file may be reproduced, stored, transmitted,
|
||||||
|
# disclosed or used in any form or by any means other than as
|
||||||
|
# expressly provided by the written permission from Jianhui Tao
|
||||||
|
#
|
||||||
|
###################################################################
|
||||||
|
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import taos
|
||||||
|
from util.log import *
|
||||||
|
from util.cases import *
|
||||||
|
from util.sql import *
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
|
tdSql.init(conn.cursor())
|
||||||
|
|
||||||
|
self.ts = 1537146000000
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
tdSql.prepare()
|
||||||
|
|
||||||
|
print("==============step1")
|
||||||
|
tdSql.execute("create table st(ts timestamp, c1 float, c2 double) tags(t1 float, t2 double)")
|
||||||
|
tdSql.execute(
|
||||||
|
'CREATE TABLE if not exists t1 using st tags(1.023, 3.00412)')
|
||||||
|
tdSql.execute(
|
||||||
|
'CREATE TABLE if not exists t2 using st tags(2.005, 10.129001)')
|
||||||
|
|
||||||
|
print("==============step2")
|
||||||
|
for i in range(10):
|
||||||
|
tdSql.execute("insert into t1 values(%d, %s, %s) t2 values(%d, %s, %s)" %
|
||||||
|
(self.ts + i, 1.0001 + i, 2.0001301 + i, self.ts + i, 1.0001 * i, 2.0001301 * i))
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st")
|
||||||
|
tdSql.checkData(0, 0, 20)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 > 1.023")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 < 1.023")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 >= 1.023")
|
||||||
|
tdSql.checkData(0, 0, 20)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 <= 1.023")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 = 1.023")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 <> 1.023")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 != 1.023")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 >= 1.023 and t1 <= 1.023")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 > 1.023 and t1 <= 1.023")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t1 >= 1.023 and t1 < 1.023")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 > 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 < 3.00412")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 >= 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 20)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 <= 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 = 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 <> 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 != 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 >= 3.00412 and t2 <= 3.00412")
|
||||||
|
tdSql.checkData(0, 0, 10)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 > 3.00412 and t2 <= 3.00412")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from st where t2 >= 3.00412 and t2 < 3.00412")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 < 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 <= 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 2)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 = 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 > 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 8)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 >= 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 9)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 <> 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 9)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 != 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 9)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 >= 2.0001 and c1 <= 2.0001")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 > 2.0001 and c1 <= 2.0001")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t1 where c1 >= 2.0001 and c1 < 2.0001")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 < 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 <= 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 2)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 = 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 > 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 8)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 >= 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 9)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 <> 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 9)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 != 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 9)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 >= 2.0001301 and c2 <= 2.0001301")
|
||||||
|
tdSql.checkData(0, 0, 1)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 > 2.0001301 and c2 <= 2.0001301")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
tdSql.query("select count(*) from t2 where c2 >= 2.0001301 and c2 < 2.0001301")
|
||||||
|
tdSql.checkRows(0)
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
||||||
|
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
Loading…
Reference in New Issue