未验证 提交 9234a88f 编写于 作者: H huili 提交者: GitHub

Merge pull request #4518 from taosdata/test/jenkins

test Jenkins
...@@ -6,135 +6,135 @@ node { ...@@ -6,135 +6,135 @@ node {
// execute this before anything else, including requesting any time on an agent // execute this before anything else, including requesting any time on an agent
if (currentBuild.rawBuild.getCauses().toString().contains('BranchIndexingCause')) { // if (currentBuild.rawBuild.getCauses().toString().contains('BranchIndexingCause')) {
print "INFO: Build skipped due to trigger being Branch Indexing" // print "INFO: Build skipped due to trigger being Branch Indexing"
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 // 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
return // return
} // }
def pre_test(){ // def pre_test(){
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { // catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh ''' // sh '''
sudo rmtaos // sudo rmtaos
''' // '''
} // }
sh ''' // sh '''
cd ${WKC} // cd ${WKC}
rm -rf * // rm -rf *
cd ${WK} // cd ${WK}
git reset --hard // git reset --hard
git checkout develop // git checkout develop
git pull // git pull
cd ${WKC} // cd ${WKC}
rm -rf * // rm -rf *
mv ${WORKSPACE}/* . // mv ${WORKSPACE}/* .
cd ${WK} // cd ${WK}
export TZ=Asia/Harbin // export TZ=Asia/Harbin
date // date
rm -rf ${WK}/debug // rm -rf ${WK}/debug
mkdir debug // mkdir debug
cd debug // cd debug
cmake .. > /dev/null // cmake .. > /dev/null
make > /dev/null // make > /dev/null
make install > /dev/null // make install > /dev/null
cd ${WKC}/tests // cd ${WKC}/tests
''' // '''
return 1 // return 1
} // }
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') {
parallel { // parallel {
stage('python p1') { // stage('python p1') {
agent{label 'p1'} // agent{label 'p1'}
steps { // steps {
pre_test() // pre_test()
sh ''' // sh '''
cd ${WKC}/tests // cd ${WKC}/tests
./test-all.sh p1 // ./test-all.sh p1
date''' // date'''
} // }
} // }
stage('test_b1') { // stage('test_b1') {
agent{label 'master'} // agent{label 'master'}
steps { // steps {
pre_test() // pre_test()
sh ''' // sh '''
cd ${WKC}/tests // cd ${WKC}/tests
./test-all.sh b1 // ./test-all.sh b1
date''' // date'''
} // }
} // }
stage('test_crash_gen') { // stage('test_crash_gen') {
agent{label "b2"} // agent{label "b2"}
steps { // steps {
pre_test() // pre_test()
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { // catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh ''' // sh '''
cd ${WKC}/tests/pytest // cd ${WKC}/tests/pytest
./crash_gen.sh -a -p -t 4 -s 2000 // ./crash_gen.sh -a -p -t 4 -s 2000
''' // '''
} // }
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { // catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh ''' // sh '''
cd ${WKC}/tests/pytest // cd ${WKC}/tests/pytest
./handle_crash_gen_val_log.sh // ./handle_crash_gen_val_log.sh
''' // '''
} // }
sh ''' // sh '''
date // date
cd ${WKC}/tests // cd ${WKC}/tests
./test-all.sh b2 // ./test-all.sh b2
date // date
''' // '''
} // }
} // }
stage('test_valgrind') { // stage('test_valgrind') {
agent{label "b3"} // agent{label "b3"}
steps { // steps {
pre_test() // pre_test()
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') { // catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh ''' // sh '''
cd ${WKC}/tests/pytest // cd ${WKC}/tests/pytest
./valgrind-test.sh 2>&1 > mem-error-out.log // ./valgrind-test.sh 2>&1 > mem-error-out.log
./handle_val_log.sh // ./handle_val_log.sh
''' // '''
} // }
sh ''' // sh '''
date // date
cd ${WKC}/tests // cd ${WKC}/tests
./test-all.sh b3 // ./test-all.sh b3
date''' // date'''
} // }
} // }
stage('python p2'){ // stage('python p2'){
agent{label "p2"} // agent{label "p2"}
steps{ // steps{
pre_test() // pre_test()
sh ''' // sh '''
date // date
cd ${WKC}/tests // cd ${WKC}/tests
./test-all.sh p2 // ./test-all.sh p2
date // date
''' // '''
} // }
} // }
} // }
} // }
} // }
} // }
...@@ -189,51 +189,51 @@ class ConcurrentInquiry: ...@@ -189,51 +189,51 @@ class ConcurrentInquiry:
return sql return sql
def gen_query_join(self): #生成join查询语句 def gen_query_join(self): #生成join查询语句
tbi=random.randint(0,len(self.subtb_list)+len(self.stb_list)) #随机决定查询哪张表 tbname = []
tbname='' col_list = []
col_list=[] tag_list = []
tag_list=[] col_intersection = []
is_stb=0 tag_intersection = []
if tbi>len(self.stb_list) :
tbi=tbi-len(self.stb_list)
tbname=self.subtb_list[tbi-1] if bool(random.getrandbits(1)):
col_list=self.subtb_stru_list[tbi-1] tbname = random.sample(self.subtb_list,2)
tag_list=self.subtb_tag_list[tbi-1] for i in tbname:
col_list.append(self.subtb_stru_list[self.subtb_list.index(i)])
tag_list.append(self.subtb_stru_list[self.subtb_list.index(i)])
col_intersection = list(set(col_list[0]).intersection(set(col_list[1])))
tag_intersection = list(set(tag_list[0]).intersection(set(tag_list[1])))
else: else:
tbname=self.stb_list[tbi-1] tbname = random.sample(self.stb_list,2)
col_list=self.stb_stru_list[tbi-1] for i in tbname:
tag_list=self.stb_tag_list[tbi-1] col_list.append(self.stb_stru_list[self.stb_list.index(i)])
is_stb=1 tag_list.append(self.stb_stru_list[self.stb_list.index(i)])
tlist=col_list+tag_list+['abc'] #增加不存在的域'abc',是否会引起新bug col_intersection = list(set(col_list[0]).intersection(set(col_list[1])))
tag_intersection = list(set(tag_list[0]).intersection(set(tag_list[1])))
con_rand=random.randint(0,len(condition_list)) con_rand=random.randint(0,len(condition_list))
func_rand=random.randint(0,len(func_list))
col_rand=random.randint(0,len(col_list)) col_rand=random.randint(0,len(col_list))
tag_rand=random.randint(0,len(tag_list)) tag_rand=random.randint(0,len(tag_list))
t_rand=random.randint(0,len(tlist))
sql='select ' #select sql='select ' #select
random.shuffle(col_list)
random.shuffle(func_list) sel_col_tag=[]
sel_col_list=[]
col_rand=random.randint(0,len(col_list)) col_rand=random.randint(0,len(col_list))
for i,j in zip(col_list[0:col_rand],func_list): #决定每个被查询col的函数
alias = 'as '+ str(i)
pick_func = ''
if j == 'leastsquares':
pick_func=j+'('+i+',1,1)'
elif j == 'top' or j == 'bottom' or j == 'percentile' or j == 'apercentile':
pick_func=j+'('+i+',1)'
else:
pick_func=j+'('+i+')'
if bool(random.getrandbits(1)): if bool(random.getrandbits(1)):
pick_func+=alias sql += '*'
sel_col_list.append(pick_func) else:
sel_col_tag.append('t1.' + str(random.choice(col_list[0] + tag_list[0])))
sel_col_tag.append('t2.' + str(random.choice(col_list[1] + tag_list[1])))
sql += ','.join(sel_col_tag)
sql=sql+','.join(sel_col_list)+' from '+random.choice(self.stb_list+self.subtb_list)+' ' #select col & func sql = sql + 'from '+ ','.join(tbname) + ' ' #select col & func
con_func=[self.con_where,self.con_interval,self.con_limit,self.con_group,self.con_order,self.con_fill] con_func=[self.con_where,self.con_interval,self.con_limit,self.con_group,self.con_order,self.con_fill]
sel_con=random.sample(con_func,random.randint(0,len(con_func))) sel_con=random.sample(con_func,random.randint(0,len(con_func)))
sel_con_list=[] sel_con_list=[]
for i in sel_con:
sel_con_list.append(i(tlist,col_list,tag_list)) #获取对应的条件函数 # for i in sel_con:
# sel_con_list.append(i(tlist,col_list,tag_list)) #获取对应的条件函数
sql+=' '.join(sel_con_list) # condition sql+=' '.join(sel_con_list) # condition
print(sql) print(sql)
return sql return sql
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册