Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e9c5859e
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看板
提交
e9c5859e
编写于
12月 02, 2020
作者:
S
Shuduo Sang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
auto pull submodule code and add more check.
上级
1256de5a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
57 addition
and
12 deletion
+57
-12
tests/pytest/hivemq-extension-test.py
tests/pytest/hivemq-extension-test.py
+57
-12
未找到文件。
tests/pytest/hivemq-extension-test.py
浏览文件 @
e9c5859e
...
...
@@ -21,6 +21,7 @@ import subprocess
from
shutil
import
which
from
multipledispatch
import
dispatch
@
dispatch
(
str
,
str
)
def
v_print
(
msg
:
str
,
arg
:
str
):
if
verbose
:
...
...
@@ -50,28 +51,34 @@ def v_print(msg: str, arg1: int, arg2: int, arg3: int, arg4: int):
if
verbose
:
print
(
msg
%
(
int
(
arg1
),
int
(
arg2
),
int
(
arg3
),
int
(
arg4
)))
def
isHiveMQInstalled
():
v_print
(
"%s"
,
"Check if HiveMQ installed"
)
defaultHiveMQPath
=
"/opt/hivemq*"
hiveMQDir
=
glob
.
glob
(
defaultHiveMQPath
)
if
(
len
(
hiveMQDir
)
==
0
):
v_print
(
"%s"
,
"ERROR:
hivemq not found!
"
)
v_print
(
"%s"
,
"ERROR:
HiveMQ NOT found
"
)
return
False
else
:
v_print
(
"HiveMQ installed at %s"
,
hiveMQDir
[
0
])
return
True
def
isMosquittoInstalled
():
v_print
(
"%s"
,
"Check if mosquitto installed"
)
if
not
which
(
'mosquitto_pub'
):
v_print
(
"%s"
,
"
mosquitto is not
installed"
)
v_print
(
"%s"
,
"
ERROR: mosquitto is NOT
installed"
)
return
False
else
:
return
True
def
installExtension
():
currentDir
=
os
.
getcwd
()
os
.
chdir
(
'../../src/connector/hivemq-tdengine-extension'
)
extDir
=
'src/connector/hivemq-tdengine-extension'
os
.
chdir
(
'../..'
)
os
.
system
(
'git submodule update --init -- %s'
%
extDir
)
os
.
chdir
(
extDir
)
v_print
(
"%s"
,
"build extension.."
)
os
.
system
(
'mvn clean package'
)
...
...
@@ -92,6 +99,7 @@ def installExtension():
os
.
chdir
(
currentDir
)
def
stopProgram
(
prog
:
str
):
psCmd
=
"ps ax|grep -w %s| grep -v grep | awk '{print $1}'"
%
prog
...
...
@@ -106,9 +114,24 @@ def stopProgram(prog: str):
psCmd
,
shell
=
True
).
decode
(
"utf-8"
)
pass
def
stopHiveMQ
():
stopProgram
(
"hivemq.jar"
)
v_print
(
"%s"
,
"hivemq is NOT running"
)
v_print
(
"%s"
,
"ERROR: HiveMQ is NOT running"
)
def
checkProgramRunning
(
prog
:
str
):
psCmd
=
"ps ax|grep -w %s| grep -v grep | awk '{print $1}'"
%
prog
processID
=
subprocess
.
check_output
(
psCmd
,
shell
=
True
).
decode
(
"utf-8"
)
if
not
processID
:
v_print
(
"ERROR: %s is NOT running"
,
prog
)
return
False
else
:
return
True
def
runHiveMQ
():
defaultHiveMQPath
=
"/opt/hivemq*"
...
...
@@ -116,11 +139,19 @@ def runHiveMQ():
runPath
=
hiveMQDir
[
0
]
+
'/bin/run.sh > /dev/null &'
os
.
system
(
runPath
)
time
.
sleep
(
10
)
v_print
(
"%s"
,
"hivemq is running"
)
if
not
checkProgramRunning
(
"hivemq.jar"
):
return
False
else
:
v_print
(
"%s"
,
"hivemq is running"
)
return
True
def
getBuildPath
():
selfPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
))
binPath
=
''
if
(
"community"
in
selfPath
):
projPath
=
selfPath
[:
selfPath
.
find
(
"community"
)]
else
:
...
...
@@ -130,9 +161,10 @@ def getBuildPath():
if
(
"taosd"
in
files
):
rootRealPath
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
root
))
if
(
"packaging"
not
in
rootRealPath
):
b
uildPath
=
root
[:
len
(
root
)
-
len
(
"/build/bin"
)]
b
inPath
=
root
[:
len
(
root
)
-
len
(
"/build/bin"
)]
break
return
buildPath
return
binPath
def
runTDengine
():
stopProgram
(
"taosd"
)
...
...
@@ -140,8 +172,8 @@ def runTDengine():
buildPath
=
getBuildPath
()
if
(
buildPath
==
""
):
v_print
(
"%s"
,
"taosd NOT found!"
)
o
s
.
exit
(
1
)
v_print
(
"%s"
,
"
ERROR:
taosd NOT found!"
)
sy
s
.
exit
(
1
)
else
:
v_print
(
"%s"
,
"taosd found in %s"
%
buildPath
)
...
...
@@ -149,6 +181,13 @@ def runTDengine():
os
.
system
(
'%s > /dev/null &'
%
binPath
)
time
.
sleep
(
10
)
if
not
checkProgramRunning
(
"taosd"
):
return
False
else
:
v_print
(
"%s"
,
"TDengine is running"
)
return
True
def
reCreateDatabase
():
buildPath
=
getBuildPath
()
...
...
@@ -157,16 +196,20 @@ def reCreateDatabase():
os
.
system
(
'%s -s "DROP DATABASE IF EXISTS hivemq"'
%
binPath
)
os
.
system
(
'%s -s "CREATE DATABASE IF NOT EXISTS hivemq"'
%
binPath
)
def
sendMqttMsg
(
topic
:
str
,
payload
:
str
):
testStr
=
'mosquitto_pub -t %s -m "%s"'
%
(
topic
,
payload
)
os
.
system
(
testStr
)
time
.
sleep
(
3
)
def
checkTDengineData
(
topic
:
str
,
payload
:
str
):
buildPath
=
getBuildPath
()
binPath
=
buildPath
+
"/build/bin/taos"
output
=
subprocess
.
check_output
(
'%s -s "select * from hivemq.mqtt_payload"'
%
binPath
,
shell
=
True
).
decode
(
'utf-8'
)
output
=
subprocess
.
check_output
(
'%s -s "select * from hivemq.mqtt_payload"'
%
binPath
,
shell
=
True
).
decode
(
'utf-8'
)
if
(
topic
in
output
)
and
(
payload
in
output
):
v_print
(
"%s"
,
output
)
return
True
...
...
@@ -190,11 +233,13 @@ if __name__ == "__main__":
installExtension
()
runTDengine
()
if
not
runTDengine
():
sys
.
exit
(
1
)
reCreateDatabase
()
runHiveMQ
()
if
not
runHiveMQ
():
sys
.
exit
(
1
)
sendMqttMsg
(
testTopic
,
testPayload
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录