Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9382abaa
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
9382abaa
编写于
9月 24, 2021
作者:
W
wenzhouwww
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add test case for taoshell execute sql by taos -s
上级
986a82a0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
200 addition
and
0 deletion
+200
-0
tests/pytest/client/taoshellCheckCase.py
tests/pytest/client/taoshellCheckCase.py
+199
-0
tests/pytest/fulltest.sh
tests/pytest/fulltest.sh
+1
-0
未找到文件。
tests/pytest/client/taoshellCheckCase.py
0 → 100644
浏览文件 @
9382abaa
###################################################################
# 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
,
shutil
from
util.log
import
*
from
util.cases
import
*
from
util.sql
import
*
from
util.dnodes
import
*
import
subprocess
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
def
getBuildPath
(
self
)
->
str
:
selfPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
))
if
(
"community"
in
selfPath
):
projPath
=
selfPath
[:
selfPath
.
find
(
"community"
)]
else
:
projPath
=
selfPath
[:
selfPath
.
find
(
"tests"
)]
for
root
,
dirs
,
files
in
os
.
walk
(
projPath
):
if
(
"taosd"
in
files
):
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
if
(
"packaging"
not
in
rootRealPath
):
buildPath
=
root
[:
len
(
root
)
-
len
(
"/debug/build/bin"
)]
break
return
buildPath
def
check_coredump
(
self
,
res_log
):
build_path
=
self
.
getBuildPath
()
+
"/debug/build/bin"
cmd
=
build_path
+
"/"
+
"taos -d test -k 1 > res.txt 2>&1"
print
(
res_log
)
out
=
subprocess
.
check_output
(
cmd
,
shell
=
True
).
decode
(
"utf-8"
)
print
(
out
)
def
execute_cmd
(
self
,
cmd
):
out
=
subprocess
.
Popen
(
cmd
,
shell
=
True
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
).
stderr
.
read
().
decode
(
"utf-8"
)
if
out
.
find
(
"error:"
)
>=
0
:
print
(
cmd
)
print
(
out
)
def
run
(
self
):
tdSql
.
prepare
()
build_path
=
self
.
getBuildPath
()
+
"/debug/build/bin"
tdLog
.
info
(
"====== check tables use taos -d -k ========"
)
tdSql
.
execute
(
"drop database if exists test"
)
tdSql
.
execute
(
"drop database if exists dumptest"
)
tdSql
.
execute
(
"create database if not exists test"
)
# self.check_coredump("====== only create database test ==== ")
tdSql
.
execute
(
"use test"
)
tdSql
.
execute
(
"create stable st (ts timestamp , id int , val double , str binary(20) ) tags (ind int)"
)
tdSql
.
execute
(
"create table tb1 using st tags(1)"
)
self
.
check_coredump
(
"======= only create one table ======="
)
tdSql
.
execute
(
"create table tb2 using st tags(2)"
)
tdSql
.
execute
(
"create table tb3 using st tags(3)"
)
# self.check_coredump("======= only create three table =======")
tdSql
.
execute
(
"create table tb4 using st tags(4)"
)
tdSql
.
execute
(
"create table tb5 using st tags(5)"
)
self
.
check_coredump
(
"======= only create five table ======="
)
start_time
=
1604298064000
rows
=
10
tb_nums
=
5
tdLog
.
info
(
"====== start insert rows ========"
)
for
i
in
range
(
1
,
tb_nums
+
1
):
for
j
in
range
(
rows
):
start_time
+=
10
tdSql
.
execute
(
"insert into tb%d values(%d, %d,%f,%s) "
%
(
i
,
start_time
,
j
,
float
(
j
),
"'str"
+
str
(
j
)
+
"'"
))
tdSql
.
query
(
"select count(*) from st"
)
tdSql
.
checkData
(
0
,
0
,
50
)
for
i
in
range
(
1
,
tb_nums
+
1
):
tdSql
.
execute
(
"select * from test.tb%s"
%
(
str
(
i
)))
tdLog
.
info
(
"====== check taos -D filedir ========"
)
if
not
os
.
path
.
exists
(
"./dumpdata"
):
os
.
mkdir
(
"./dumpdata"
)
else
:
shutil
.
rmtree
(
"./dumpdata"
)
os
.
mkdir
(
"./dumpdata"
)
os
.
system
(
build_path
+
"/"
+
"taosdump -D test -o ./dumpdata"
)
sleep
(
2
)
os
.
system
(
"cd ./dumpdata && mv dbs.sql tables.sql"
)
os
.
system
(
'sed -i "s/test/dumptest/g" `grep test -rl ./dumpdata`'
)
os
.
system
(
build_path
+
"/"
+
"taos -D ./dumpdata"
)
tdSql
.
query
(
"select count(*) from dumptest.st"
)
tdSql
.
checkData
(
0
,
0
,
50
)
tdLog
.
info
(
"========test other file name about tables.sql========"
)
os
.
system
(
"rm -rf ./dumpdata/*"
)
os
.
system
(
build_path
+
"/"
+
"taosdump -D test -o ./dumpdata"
)
sleep
(
2
)
os
.
system
(
"cd ./dumpdata && mv dbs.sql table.sql"
)
os
.
system
(
'sed -i "s/test/tt/g" `grep test -rl ./dumpdata`'
)
os
.
system
(
build_path
+
"/"
+
"taos -D ./dumpdata"
)
tdLog
.
info
(
"====== check taos shell params ========"
)
tdLog
.
info
(
"====== step 1 : insert data with some unicode ========"
)
sqls
=
[
"drop database if exists dbst"
,
"create database dbst"
,
"use dbst"
,
"create stable dbst.st (ts timestamp , id int , val double , str binary(200) ,char nchar(200) ) tags (ind int)"
,
"create table dbst.tb1 using dbst.st tags(1)"
,
"create table dbst.tb2 using dbst.st tags(2)"
,
"insert into dbst.tb1 values('2021-07-14T10:40:00.006+0800' , 1 , 1.0 , 'binary_1','中文-1') "
,
"insert into dbst.tb1 values('2021-07-14T10:40:00.006Z' , 1 , 1.0 , 'binary
\\
'1','中文?-1')"
,
"insert into dbst.tb1 values('2021-07-14 10:40:00.000',1,1.0,'!@#¥%……&*', '中文12&%#@!*')"
,
"insert into dbst.tb1 values(now ,1,1.0,'(){}[];./?&*
\n
', '中文&%#@!*34')"
,
"insert into dbst.tb1 values(now ,1,1.0,'
\\
t
\\
0', '中文_
\\
t
\\
0')"
,
# "insert into dbst.tb1 values(now ,1,1.0,'\t\"', '中文_\t\\')",
"CREATE STABLE dbst.stb (TS TIMESTAMP , ID INT , VAL DOUBLE , STR BINARY(200) ,CHAR NCHAR(200) ) TAGS (IND INT)"
,
"CREATE TABLE dbst.tbb1 USING dbst.STB TAGS(1)"
,
"CREATE TABLE dbst.tbb2 USING dbst.STB TAGS(2)"
,
"INSERT INTO dbst.TBB1 VALUES('2021-07-14T10:40:00.006+0800' , 1 , 1.0 , 'BINARY_1','中文-1')"
,
"INSERT INTO dbst.TBB1 VALUES('2021-07-14T10:40:00.006Z' , 1 , 1.0 , 'BINARY1','中文?-1')"
,
"INSERT INTO dbst.TBB1 VALUES('2021-07-14 10:40:00.000',1,1.0,'!@#¥%……&*', '中文12&%#@!*');"
]
for
sql
in
sqls
:
cmd
=
build_path
+
"/"
+
"taos -s
\"
"
+
sql
+
"
\"
"
self
.
execute_cmd
(
cmd
)
basic_code
=
[
'!'
,
'#'
,
'$'
,
'%'
,
'&'
,
'('
,
')'
,
'*'
,
'+'
,
','
,
'-'
,
'.'
,
'/'
,
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
':'
,
';'
,
'<'
,
'='
,
'>'
,
'?'
,
'@'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'['
,
'
\\
'
,
']'
,
'^'
,
'_'
,
'`'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
'{'
,
'|'
,
'}'
,
'~'
]
for
code
in
basic_code
:
if
not
code
==
'
\\
'
:
cmd
=
build_path
+
"/"
+
"taos -s
\"
insert into dbst.tb2 values(now ,2,2.0,'"
+
code
+
"','汉字"
+
code
+
"
\'
)
\"
"
else
:
cmd
=
build_path
+
"/"
+
"taos -s
\"
insert into dbst.tb2 values(now ,2,2.0,"
+
r
'"\\"'
+
",'中文"
+
r
'\\'
+
"')
\"
"
self
.
execute_cmd
(
cmd
)
tdLog
.
info
(
"====== step 2 : query result of results ========"
)
querys
=
[
"select count(*) from dbst.tb2"
,
"show dbst.tables"
,
"show dbst.tables like tb_"
,
"show dbst.tables like 't%'"
,
"select * from dbst.stb"
,
"select avg(val),max(id),min(id) from dbst.st "
,
"select last_row(*) from dbst.st"
,
"select * from dbst.st where ts >'2021-07-14T10:40:00.006+0800' and ind = 1 "
,
"select max(val) from dbst.st where ts >'2021-07-14T10:40:00.006+0800' group by tbname"
,
"select count(*) from dbst.st interval(1s) group by tbname"
,
"show queries "
,
"show connections"
,
"show functions"
,
"select * from dbst.tb2 where str like 'a'"
,
"select bottom(id, 3) from dbst.st; "
,
"select _block_dist() from dbst.st;"
,
"select 5 from dbst.tb1;"
,
"select id , val from dbst.st"
,
"describe dbst.st"
,
"alter stable dbst.st modify column str binary(205);"
]
for
query
in
querys
:
cmd
=
build_path
+
"/"
+
"taos -s
\"
"
+
query
+
"
\"
"
self
.
execute_cmd
(
cmd
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/fulltest.sh
浏览文件 @
9382abaa
...
...
@@ -293,6 +293,7 @@ python3 ./test.py -f client/client.py
python3 ./test.py
-f
client/version.py
python3 ./test.py
-f
client/alterDatabase.py
python3 ./test.py
-f
client/noConnectionErrorTest.py
python3 ./test.py
-f
client/taoshellCheckCase.py
# python3 test.py -f client/change_time_1_1.py
# python3 test.py -f client/change_time_1_2.py
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录