Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
47662b58
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
47662b58
编写于
9月 14, 2021
作者:
L
liuyq-617
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-6591]test framework on windows
上级
52dc3275
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
198 addition
and
61 deletion
+198
-61
Jenkinsfile
Jenkinsfile
+111
-2
tests/pytest/fulltest.bat
tests/pytest/fulltest.bat
+20
-20
tests/pytest/insert/binary.py
tests/pytest/insert/binary.py
+5
-3
tests/pytest/insert/nchar.py
tests/pytest/insert/nchar.py
+2
-1
tests/pytest/query/queryNormal.py
tests/pytest/query/queryNormal.py
+4
-2
tests/pytest/test-all.bat
tests/pytest/test-all.bat
+13
-6
tests/pytest/test.py
tests/pytest/test.py
+1
-1
tests/pytest/update/merge_commit_data2_update0.py
tests/pytest/update/merge_commit_data2_update0.py
+1
-1
tests/pytest/util/dnodes.py
tests/pytest/util/dnodes.py
+41
-25
未找到文件。
Jenkinsfile
浏览文件 @
47662b58
import
hudson.model.Result
import
hudson.model.Result
import
hudson.model.*
;
import
jenkins.model.CauseOfInterruption
import
jenkins.model.CauseOfInterruption
properties
([
pipelineTriggers
([
githubPush
()])])
properties
([
pipelineTriggers
([
githubPush
()])])
node
{
node
{
...
@@ -6,6 +7,7 @@ node {
...
@@ -6,6 +7,7 @@ node {
}
}
def
skipbuild
=
0
def
skipbuild
=
0
def
win_stop
=
0
def
abortPreviousBuilds
()
{
def
abortPreviousBuilds
()
{
def
currentJobName
=
env
.
JOB_NAME
def
currentJobName
=
env
.
JOB_NAME
...
@@ -110,7 +112,83 @@ def pre_test(){
...
@@ -110,7 +112,83 @@ def pre_test(){
'''
'''
return
1
return
1
}
}
def
pre_test_win
(){
bat
'''
cd C:\\
rd /s /Q C:\\TDengine
cd C:\\workspace\\TDinternal
rd /s /Q C:\\workspace\\TDinternal\\debug
cd C:\\workspace\\TDinternal\\community
git reset --hard HEAD~10
'''
script
{
if
(
env
.
CHANGE_TARGET
==
'master'
)
{
bat
'''
cd C:\\workspace\\TDinternal\\community
git checkout master
'''
}
else
if
(
env
.
CHANGE_TARGET
==
'2.0'
){
bat
'''
cd C:\\workspace\\TDinternal\\community
git checkout 2.0
'''
}
else
{
bat
'''
cd C:\\workspace\\TDinternal\\community
git checkout develop
'''
}
}
bat
'''
cd C:\\workspace\\TDinternal\\community
git pull
git fetch origin +refs/pull/%CHANGE_ID%/merge
git checkout -qf FETCH_HEAD
git clean -dfx
cd C:\\workspace\\TDinternal
git reset --hard HEAD~10
'''
script
{
if
(
env
.
CHANGE_TARGET
==
'master'
)
{
bat
'''
cd C:\\workspace\\TDinternal
git checkout master
'''
}
else
if
(
env
.
CHANGE_TARGET
==
'2.0'
){
bat
'''
cd C:\\workspace\\TDinternal
git checkout 2.0
'''
}
else
{
bat
'''
cd C:\\workspace\\TDinternal
git checkout develop
'''
}
}
bat
'''
cd C:\\workspace\\TDinternal
git pull
date
git clean -dfx
mkdir debug
cd debug
call "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat" amd64
cmake ../ -G "NMake Makefiles"
nmake
nmake install
xcopy /e/y/i/f C:\\workspace\\TDinternal\\debug\\build\\lib\\taos.dll C:\\Windows\\System32
cd C:\\workspace\\TDinternal\\community\\src\\connector\\python
python -m pip install .
'''
return
1
}
pipeline
{
pipeline
{
agent
none
agent
none
environment
{
environment
{
...
@@ -234,6 +312,7 @@ pipeline {
...
@@ -234,6 +312,7 @@ pipeline {
cd ${WKC}/tests/examples/nodejs
cd ${WKC}/tests/examples/nodejs
npm install td2.0-connector > /dev/null 2>&1
npm install td2.0-connector > /dev/null 2>&1
node nodejsChecker.js host=localhost
node nodejsChecker.js host=localhost
node test1970.js
'''
'''
sh
'''
sh
'''
cd ${WKC}/tests/examples/C#/taosdemo
cd ${WKC}/tests/examples/C#/taosdemo
...
@@ -369,7 +448,37 @@ pipeline {
...
@@ -369,7 +448,37 @@ pipeline {
date'''
date'''
}
}
}
}
}
}
stage
(
'build'
){
agent
{
label
" wintest "
}
steps
{
pre_test
()
script
{
while
(
win_stop
==
0
){
sleep
(
1
)
}
}
}
}
stage
(
'test'
){
agent
{
label
"win"
}
steps
{
catchError
(
buildResult:
'FAILURE'
,
stageResult:
'FAILURE'
)
{
pre_test_win
()
bat
'''
cd C:\\workspace\\TDinternal\\community\\tests\\pytest
.\\test-all.bat Wintest
'''
}
script
{
win_stop
=
1
}
}
}
}
}
}
}
}
}
...
@@ -451,4 +560,4 @@ pipeline {
...
@@ -451,4 +560,4 @@ pipeline {
)
)
}
}
}
}
}
}
\ No newline at end of file
tests/pytest/fulltest.bat
浏览文件 @
47662b58
python
.\test.py
-f
insert
\basic.py
-w
1
-m
u05
python
.\test.py
-f
insert
\basic.py
python
.\test.py
-f
insert
\int.py
-w
1
-m
u05
python
.\test.py
-f
insert
\int.py
python
.\test.py
-f
insert
\float.py
-w
1
-m
u05
python
.\test.py
-f
insert
\float.py
python
.\test.py
-f
insert
\bigint.py
-w
1
-m
u05
python
.\test.py
-f
insert
\bigint.py
python
.\test.py
-f
insert
\bool.py
-w
1
-m
u05
python
.\test.py
-f
insert
\bool.py
python
.\test.py
-f
insert
\double.py
-w
1
-m
u05
python
.\test.py
-f
insert
\double.py
python
.\test.py
-f
insert
\smallint.py
-w
1
-m
u05
python
.\test.py
-f
insert
\smallint.py
python
.\test.py
-f
insert
\tinyint.py
-w
1
-m
u05
python
.\test.py
-f
insert
\tinyint.py
python
.\test.py
-f
insert
\date.py
-w
1
-m
u05
python
.\test.py
-f
insert
\date.py
python
.\test.py
-f
insert
\binary.py
-w
1
-m
u05
python
.\test.py
-f
insert
\binary.py
python
.\test.py
-f
insert
\nchar.py
-w
1
-m
u05
python
.\test.py
-f
insert
\nchar.py
python
.\test.py
-f
query
\filter.py
-w
1
-m
u05
python
.\test.py
-f
query
\filter.py
python
.\test.py
-f
query
\filterCombo.py
-w
1
-m
u05
python
.\test.py
-f
query
\filterCombo.py
python
.\test.py
-f
query
\queryNormal.py
-w
1
-m
u05
python
.\test.py
-f
query
\queryNormal.py
python
.\test.py
-f
query
\queryError.py
-w
1
-m
u05
python
.\test.py
-f
query
\queryError.py
python
.\test.py
-f
query
\filterAllIntTypes.py
-w
1
-m
u05
python
.\test.py
-f
query
\filterAllIntTypes.py
python
.\test.py
-f
query
\filterFloatAndDouble.py
-w
1
-m
u05
python
.\test.py
-f
query
\filterFloatAndDouble.py
python
.\test.py
-f
query
\filterOtherTypes.py
-w
1
-m
u05
python
.\test.py
-f
query
\filterOtherTypes.py
python
.\test.py
-f
query
\querySort.py
-w
1
-m
u05
python
.\test.py
-f
query
\querySort.py
python
.\test.py
-f
query
\queryJoin.py
-w
1
-m
u05
python
.\test.py
-f
query
\queryJoin.py
\ No newline at end of file
\ No newline at end of file
tests/pytest/insert/binary.py
浏览文件 @
47662b58
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import
platform
import
sys
import
sys
from
util.log
import
*
from
util.log
import
*
from
util.cases
import
*
from
util.cases
import
*
...
@@ -53,9 +54,10 @@ class TDTestCase:
...
@@ -53,9 +54,10 @@ class TDTestCase:
tdLog
.
info
(
"tdSql.checkData(0, 0, '34567')"
)
tdLog
.
info
(
"tdSql.checkData(0, 0, '34567')"
)
tdSql
.
checkData
(
0
,
0
,
'34567'
)
tdSql
.
checkData
(
0
,
0
,
'34567'
)
tdLog
.
info
(
"insert into tb values (now+4a,
\"
'';
\"
)"
)
tdLog
.
info
(
"insert into tb values (now+4a,
\"
'';
\"
)"
)
config_dir
=
subprocess
.
check_output
(
str
(
"ps -ef |grep dnode1|grep -v grep |awk '{print $NF}'"
),
stderr
=
subprocess
.
STDOUT
,
shell
=
True
).
decode
(
'utf-8'
).
replace
(
'
\n
'
,
''
)
if
platform
.
system
()
==
"Linux"
:
result
=
''
.
join
(
os
.
popen
(
r
"""taos -s "insert into db.tb values (now+4a, \"'';\")" -c %s"""
%
(
config_dir
)).
readlines
())
config_dir
=
subprocess
.
check_output
(
str
(
"ps -ef |grep dnode1|grep -v grep |awk '{print $NF}'"
),
stderr
=
subprocess
.
STDOUT
,
shell
=
True
).
decode
(
'utf-8'
).
replace
(
'
\n
'
,
''
)
if
"Query OK"
not
in
result
:
tdLog
.
exit
(
"err:insert '';"
)
result
=
''
.
join
(
os
.
popen
(
r
"""taos -s "insert into db.tb values (now+4a, \"'';\")" -c %s"""
%
(
config_dir
)).
readlines
())
if
"Query OK"
not
in
result
:
tdLog
.
exit
(
"err:insert '';"
)
tdLog
.
info
(
'drop database db'
)
tdLog
.
info
(
'drop database db'
)
tdSql
.
execute
(
'drop database db'
)
tdSql
.
execute
(
'drop database db'
)
tdLog
.
info
(
'show databases'
)
tdLog
.
info
(
'show databases'
)
...
...
tests/pytest/insert/nchar.py
浏览文件 @
47662b58
...
@@ -15,6 +15,7 @@ import sys
...
@@ -15,6 +15,7 @@ import sys
from
util.log
import
*
from
util.log
import
*
from
util.cases
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sql
import
*
import
platform
class
TDTestCase
:
class
TDTestCase
:
...
@@ -37,7 +38,7 @@ class TDTestCase:
...
@@ -37,7 +38,7 @@ class TDTestCase:
tdSql
.
error
(
"insert into tb values (now, 'taosdata001')"
)
tdSql
.
error
(
"insert into tb values (now, 'taosdata001')"
)
tdSql
.
error
(
"insert into tb(now, 😀)"
)
if
platform
.
system
()
==
"Linux"
:
tdSql
.
error
(
"insert into tb(now, 😀)"
)
tdSql
.
query
(
"select * from tb"
)
tdSql
.
query
(
"select * from tb"
)
tdSql
.
checkRows
(
2
)
tdSql
.
checkRows
(
2
)
...
...
tests/pytest/query/queryNormal.py
浏览文件 @
47662b58
...
@@ -17,6 +17,7 @@ from util.log import *
...
@@ -17,6 +17,7 @@ from util.log import *
from
util.cases
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.sql
import
*
from
util.dnodes
import
*
from
util.dnodes
import
*
import
platform
class
TDTestCase
:
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
def
init
(
self
,
conn
,
logSql
):
...
@@ -137,8 +138,9 @@ class TDTestCase:
...
@@ -137,8 +138,9 @@ class TDTestCase:
tdSql
.
checkData
(
1
,
1
,
421
)
tdSql
.
checkData
(
1
,
1
,
421
)
tdSql
.
checkData
(
1
,
2
,
"tm1"
)
tdSql
.
checkData
(
1
,
2
,
"tm1"
)
tdDnodes
.
stop
(
1
)
if
platform
.
system
()
==
"Linux"
:
tdDnodes
.
start
(
1
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
tdSql
.
query
(
"select last(*) from m1 group by tbname"
)
tdSql
.
query
(
"select last(*) from m1 group by tbname"
)
tdSql
.
checkData
(
0
,
0
,
"2020-03-01 01:01:01"
)
tdSql
.
checkData
(
0
,
0
,
"2020-03-01 01:01:01"
)
...
...
tests/pytest/test-all.bat
浏览文件 @
47662b58
@echo
off
@echo
off
echo
locale
en_US
.UTF
-
8
>
"C:\\TDengine\\cfg\\taos.cfg"
SETLOCAL
EnableDelayedExpansion
echo
charset
UTF
-
8
>>
"C:\\TDengine\\cfg\\taos.cfg"
for
/F
"tokens=1,2 delims=#"
%%a
in
(
'"prompt #$H#$E# & echo on & for
%%b
in (1) do rem"'
)
do
(
set
"DEL=
%%a
"
)
for
/F
"usebackq tokens=*"
%%i
in
(
f
.bat
)
do
(
for
/F
"usebackq tokens=*"
%%i
in
(
fulltest
.bat
)
do
(
echo
Processing
%%i
echo
Processing
%%i
call
%%i
ARG1
>
result
.txt
2
>
error
.txt
call
%%i
ARG1
-w
1
-m
%
1
>
result
.txt
2
>
error
.txt
if
errorlevel
1
(
echo
failed
)
else
(
echo
sucess
)
if
errorlevel
1
(
call
:colorEcho
0
c
"failed"
&
echo
.
)
else
(
call
:colorEcho
0
a
"Success"
&
echo
.
)
)
)
@echo
on
\ No newline at end of file
exit
:colorEcho
echo
off
<
nul
set
/p
".=
%DEL%
"
>
"
%
~2"
findstr
/v /a
:
%
1
/R
"
^$
"
"
%
~2"
nul
del
"
%
~2"
>
nul
2
>&
1
i
\ No newline at end of file
tests/pytest/test.py
浏览文件 @
47662b58
...
@@ -129,7 +129,7 @@ if __name__ == "__main__":
...
@@ -129,7 +129,7 @@ if __name__ == "__main__":
td_clinet
=
TDSimClient
(
"C:
\\
TDengine"
)
td_clinet
=
TDSimClient
(
"C:
\\
TDengine"
)
td_clinet
.
deploy
()
td_clinet
.
deploy
()
remote_conn
=
Connection
(
"root@%s"
%
host
)
remote_conn
=
Connection
(
"root@%s"
%
host
)
with
remote_conn
.
cd
(
'/
root
/TDinternal/community/tests/pytest'
):
with
remote_conn
.
cd
(
'/
var/lib/jenkins/workspace
/TDinternal/community/tests/pytest'
):
remote_conn
.
run
(
"python3 ./test.py"
)
remote_conn
.
run
(
"python3 ./test.py"
)
conn
=
taos
.
connect
(
conn
=
taos
.
connect
(
host
=
"%s"
%
(
host
),
host
=
"%s"
%
(
host
),
...
...
tests/pytest/update/merge_commit_data2_update0.py
浏览文件 @
47662b58
...
@@ -27,7 +27,7 @@ class TDTestCase:
...
@@ -27,7 +27,7 @@ class TDTestCase:
def
restart_taosd
(
self
,
db
):
def
restart_taosd
(
self
,
db
):
tdDnodes
.
stop
(
1
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
WithoutSleep
(
1
)
tdDnodes
.
start
(
1
)
tdSql
.
execute
(
"use %s;"
%
db
)
tdSql
.
execute
(
"use %s;"
%
db
)
def
date_to_timestamp_microseconds
(
self
,
date
):
def
date_to_timestamp_microseconds
(
self
,
date
):
...
...
tests/pytest/util/dnodes.py
浏览文件 @
47662b58
...
@@ -14,6 +14,9 @@
...
@@ -14,6 +14,9 @@
import
sys
import
sys
import
os
import
os
import
os.path
import
os.path
import
platform
import
pathlib
import
shutil
import
subprocess
import
subprocess
from
time
import
sleep
from
time
import
sleep
from
util.log
import
*
from
util.log
import
*
...
@@ -64,32 +67,45 @@ class TDSimClient:
...
@@ -64,32 +67,45 @@ class TDSimClient:
cmd
=
"echo '%s %s' >> %s"
%
(
option
,
value
,
self
.
cfgPath
)
cmd
=
"echo '%s %s' >> %s"
%
(
option
,
value
,
self
.
cfgPath
)
if
os
.
system
(
cmd
)
!=
0
:
if
os
.
system
(
cmd
)
!=
0
:
tdLog
.
exit
(
cmd
)
tdLog
.
exit
(
cmd
)
def
os_string
(
self
,
path
):
os_path
=
path
.
replace
(
"/"
,
os
.
sep
)
return
os_path
def
deploy
(
self
):
def
deploy
(
self
):
self
.
logDir
=
"%s/sim/psim/log"
%
(
self
.
path
)
self
.
logDir
=
self
.
os_string
(
"%s/sim/psim/log"
%
(
self
.
path
))
self
.
cfgDir
=
"%s/sim/psim/cfg"
%
(
self
.
path
)
self
.
cfgDir
=
self
.
os_string
(
"%s/sim/psim/cfg"
%
(
self
.
path
))
self
.
cfgPath
=
"%s/sim/psim/cfg/taos.cfg"
%
(
self
.
path
)
self
.
cfgPath
=
self
.
os_string
(
"%s/sim/psim/cfg/taos.cfg"
%
(
self
.
path
))
cmd
=
"rm -rf "
+
self
.
logDir
# cmd = "rm -rf " + self.logDir
if
os
.
system
(
cmd
)
!=
0
:
# if os.system(cmd) != 0:
tdLog
.
exit
(
cmd
)
# tdLog.exit(cmd)
if
os
.
path
.
exists
(
self
.
logDir
):
cmd
=
"mkdir -p "
+
self
.
logDir
try
:
if
os
.
system
(
cmd
)
!=
0
:
shutil
.
rmtree
(
self
.
logDir
)
tdLog
.
exit
(
cmd
)
except
:
tdLog
.
exit
(
"del %s failed"
%
self
.
logDir
)
cmd
=
"rm -rf "
+
self
.
cfgDir
# cmd = "mkdir -p " + self.logDir
if
os
.
system
(
cmd
)
!=
0
:
# if os.system(cmd) != 0:
tdLog
.
exit
(
cmd
)
# tdLog.exit(cmd)
os
.
makedirs
(
self
.
logDir
)
cmd
=
"mkdir -p "
+
self
.
cfgDir
# cmd = "rm -rf " + self.cfgDir
if
os
.
system
(
cmd
)
!=
0
:
# if os.system(cmd) != 0:
tdLog
.
exit
(
cmd
)
# tdLog.exit(cmd)
if
os
.
path
.
exists
(
self
.
cfgDir
):
cmd
=
"touch "
+
self
.
cfgPath
try
:
if
os
.
system
(
cmd
)
!=
0
:
shutil
.
rmtree
(
self
.
cfgDir
)
tdLog
.
exit
(
cmd
)
except
:
tdLog
.
exit
(
"del %s failed"
%
self
.
cfgDir
)
# cmd = "mkdir -p " + self.cfgDir
# if os.system(cmd) != 0:
# tdLog.exit(cmd)
os
.
makedirs
(
self
.
cfgDir
)
# cmd = "touch " + self.cfgPath
# if os.system(cmd) != 0:
# tdLog.exit(cmd)
try
:
pathlib
.
Path
(
self
.
cfgPath
).
touch
()
except
:
tdLog
.
exit
(
"create %s failed"
%
self
.
cfgPath
)
if
self
.
testCluster
:
if
self
.
testCluster
:
self
.
cfg
(
"masterIp"
,
"192.168.0.1"
)
self
.
cfg
(
"masterIp"
,
"192.168.0.1"
)
self
.
cfg
(
"secondIp"
,
"192.168.0.2"
)
self
.
cfg
(
"secondIp"
,
"192.168.0.2"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录