Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7953e06c
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
7953e06c
编写于
1月 14, 2021
作者:
H
huili
提交者:
GitHub
1月 14, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #4882 from taosdata/test/testcase
[TD-2723]<test>add case for multi-level storage
上级
a835f2af
8d154657
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
761 addition
and
9 deletion
+761
-9
tests/pytest/multilevel/basic.py
tests/pytest/multilevel/basic.py
+51
-0
tests/pytest/multilevel/dirNotExist.py
tests/pytest/multilevel/dirNotExist.py
+50
-0
tests/pytest/multilevel/dirPermissionDenied.py
tests/pytest/multilevel/dirPermissionDenied.py
+51
-0
tests/pytest/multilevel/fileDistributionSameLevel.py
tests/pytest/multilevel/fileDistributionSameLevel.py
+71
-0
tests/pytest/multilevel/illegelLevelMountPoint.py
tests/pytest/multilevel/illegelLevelMountPoint.py
+59
-0
tests/pytest/multilevel/middleLevelMissing.py
tests/pytest/multilevel/middleLevelMissing.py
+64
-0
tests/pytest/multilevel/moreThan16disks.py
tests/pytest/multilevel/moreThan16disks.py
+53
-0
tests/pytest/multilevel/multiMainMountPoint.py
tests/pytest/multilevel/multiMainMountPoint.py
+49
-0
tests/pytest/multilevel/noneMainMountPoint.py
tests/pytest/multilevel/noneMainMountPoint.py
+49
-0
tests/pytest/multilevel/retentionTest.py
tests/pytest/multilevel/retentionTest.py
+82
-0
tests/pytest/multilevel/threeLevelMountPoint.py
tests/pytest/multilevel/threeLevelMountPoint.py
+65
-0
tests/pytest/multilevel/wrongLevelMountPoint.py
tests/pytest/multilevel/wrongLevelMountPoint.py
+49
-0
tests/pytest/util/dnodes.py
tests/pytest/util/dnodes.py
+19
-7
tests/pytest/util/sql.py
tests/pytest/util/sql.py
+49
-2
未找到文件。
tests/pytest/multilevel/basic.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
cfg
=
{
'/mnt/data1'
:
'dataDir'
,
'/mnt/data2 0 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdSql
.
createDir
(
'/mnt/data2'
)
tdLog
.
info
(
"================= step1"
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdLog
.
info
(
"================= step2"
)
tdSql
.
haveFile
(
'/mnt/data1'
,
1
)
tdSql
.
haveFile
(
'/mnt/data2'
,
1
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/dirNotExist.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
cfg
=
{
'/mnt/data1 0 0'
:
'dataDir'
,
'/mnt/data2 0 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
os
.
system
(
'rm -rf /mnt/data2'
)
tdLog
.
info
(
"================= step1"
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdLog
.
info
(
"================= step2"
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/dirPermissionDenied.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
cfg
=
{
'/mnt/data1 0 0'
:
'dataDir'
,
'/mnt/data2 0 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdSql
.
createDir
(
'/mnt/data2'
)
os
.
system
(
'chmod 111 /mnt/data2'
)
tdLog
.
info
(
"================= step1"
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdLog
.
info
(
"================= step2"
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/fileDistributionSameLevel.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
self
.
ntables
=
10
self
.
rowsPerTable
=
10
self
.
ts
=
1520000010000
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'10'
:
'maxVgroupsPerDb'
,
'/mnt/data00 0 1'
:
'dataDir'
,
'/mnt/data01 0 0'
:
'dataDir'
,
'/mnt/data02 0 0'
:
'dataDir'
,
'/mnt/data03 1 0'
:
'dataDir'
,
'/mnt/data04 1 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data00'
)
tdSql
.
createDir
(
'/mnt/data01'
)
tdSql
.
createDir
(
'/mnt/data02'
)
tdSql
.
createDir
(
'/mnt/data03'
)
tdSql
.
createDir
(
'/mnt/data04'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
execute
(
"create database test days 1"
)
tdSql
.
execute
(
"use test"
)
tdSql
.
execute
(
"create table tb(ts timestamp, c int)"
)
for
i
in
range
(
self
.
rowsPerTable
):
tdSql
.
execute
(
"insert into tb values(%d, 1)"
%
(
self
.
ts
+
i
*
86400000
))
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
tdSql
.
query
(
"select * from test.tb"
)
tdSql
.
checkRows
(
10
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/illegelLevelMountPoint.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
self
.
ntables
=
10
self
.
rowsPerTable
=
10
self
.
startTime
=
1520000010000
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'/mnt/data1 3 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'/mnt/data1 -1 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/middleLevelMissing.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
self
.
ntables
=
10
self
.
rowsPerTable
=
10
self
.
startTime
=
1520000010000
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'/mnt/data1 1 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
taosdStatus
(
0
)
tdDnodes
.
stop
(
1
)
# Test2 2 dataDir
cfg
=
{
'/mnt/data1 0 1'
:
'dataDir'
,
'/mnt/data1 2 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/moreThan16disks.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
cfg
=
{}
for
i
in
range
(
17
):
if
i
==
0
:
datadir
=
'/mnt/data%d 0 1'
%
(
i
+
1
)
else
:
datadir
=
'/mnt/data%d 0 0'
%
(
i
+
1
)
cfg
.
update
({
datadir
:
'dataDir'
})
tdSql
.
createDir
(
'/mnt/data%d'
%
(
i
+
1
))
tdLog
.
info
(
"================= step1"
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdLog
.
info
(
"================= step2"
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/multiMainMountPoint.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
cfg
=
{
'/mnt/data1'
:
'dataDir'
,
'/mnt/data2'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdSql
.
createDir
(
'/mnt/data2'
)
tdLog
.
info
(
"================= step1"
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdLog
.
info
(
"================= step2"
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/noneMainMountPoint.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
cfg
=
{
'/mnt/data1 0 0'
:
'dataDir'
,
'/mnt/data2 0 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdSql
.
createDir
(
'/mnt/data2'
)
tdLog
.
info
(
"================= step1"
)
tdDnodes
.
stop
(
1
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdLog
.
info
(
"================= step2"
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/retentionTest.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
import
os
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
):
self
.
ntables
=
10
self
.
rowsPerTable
=
10
self
.
startTime
=
1520000010000
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'/mnt/data00 0 1'
:
'dataDir'
,
'/mnt/data01 0 0'
:
'dataDir'
,
'/mnt/data02 0 0'
:
'dataDir'
,
'/mnt/data10 1 0'
:
'dataDir'
,
'/mnt/data11 1 0'
:
'dataDir'
,
'/mnt/data12 1 0'
:
'dataDir'
,
'/mnt/data20 2 0'
:
'dataDir'
,
'/mnt/data21 2 0'
:
'dataDir'
,
'/mnt/data22 2 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data00'
)
tdSql
.
createDir
(
'/mnt/data01'
)
tdSql
.
createDir
(
'/mnt/data02'
)
tdSql
.
createDir
(
'/mnt/data10'
)
tdSql
.
createDir
(
'/mnt/data11'
)
tdSql
.
createDir
(
'/mnt/data12'
)
tdSql
.
createDir
(
'/mnt/data20'
)
tdSql
.
createDir
(
'/mnt/data21'
)
tdSql
.
createDir
(
'/mnt/data22'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
execute
(
"create database test days 1 keep 15,5,10"
)
tdSql
.
execute
(
"use test"
)
tdSql
.
execute
(
"create table tb(ts timestamp, c int)"
)
count
=
0
os
.
system
(
"sudo timedatectl set-ntp false"
)
for
i
in
range
(
self
.
rowsPerTable
):
tdSql
.
execute
(
"insert into tb values(now, 1)"
)
count
+=
1
tdSql
.
query
(
"select * from tb"
)
tdSql
.
checkRows
(
count
)
tdDnodes
.
stop
(
1
)
os
.
system
(
"sudo date -s $(date -d
\"
${DATE} 1 day
\"
\"
+%Y%m%d
\"
)"
)
tdDnodes
.
start
(
1
)
def
stop
(
self
):
os
.
system
(
"sudo timedatectl set-ntp true"
)
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/threeLevelMountPoint.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
self
.
ntables
=
10
self
.
rowsPerTable
=
10
self
.
startTime
=
1520000010000
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'/mnt/data00 0 1'
:
'dataDir'
,
'/mnt/data01 0 0'
:
'dataDir'
,
'/mnt/data02 0 0'
:
'dataDir'
,
'/mnt/data10 1 0'
:
'dataDir'
,
'/mnt/data11 1 0'
:
'dataDir'
,
'/mnt/data12 1 0'
:
'dataDir'
,
'/mnt/data20 2 0'
:
'dataDir'
,
'/mnt/data21 2 0'
:
'dataDir'
,
'/mnt/data22 2 0'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data00'
)
tdSql
.
createDir
(
'/mnt/data01'
)
tdSql
.
createDir
(
'/mnt/data02'
)
tdSql
.
createDir
(
'/mnt/data10'
)
tdSql
.
createDir
(
'/mnt/data11'
)
tdSql
.
createDir
(
'/mnt/data12'
)
tdSql
.
createDir
(
'/mnt/data20'
)
tdSql
.
createDir
(
'/mnt/data21'
)
tdSql
.
createDir
(
'/mnt/data22'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
taosdStatus
(
1
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/multilevel/wrongLevelMountPoint.py
0 → 100644
浏览文件 @
7953e06c
###################################################################
# 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
*
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
):
self
.
ntables
=
10
self
.
rowsPerTable
=
10
self
.
startTime
=
1520000010000
tdDnodes
.
stop
(
1
)
# Test1 1 dataDir
cfg
=
{
'/mnt/data1 1 1'
:
'dataDir'
}
tdSql
.
createDir
(
'/mnt/data1'
)
tdDnodes
.
deploy
(
1
,
cfg
)
tdDnodes
.
startWithoutSleep
(
1
)
tdSql
.
taosdStatus
(
0
)
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/util/dnodes.py
浏览文件 @
7953e06c
...
@@ -208,14 +208,24 @@ class TDDnode:
...
@@ -208,14 +208,24 @@ class TDDnode:
self
.
cfg
(
"publicIp"
,
"192.168.0.%d"
%
(
self
.
index
))
self
.
cfg
(
"publicIp"
,
"192.168.0.%d"
%
(
self
.
index
))
self
.
cfg
(
"internalIp"
,
"192.168.0.%d"
%
(
self
.
index
))
self
.
cfg
(
"internalIp"
,
"192.168.0.%d"
%
(
self
.
index
))
self
.
cfg
(
"privateIp"
,
"192.168.0.%d"
%
(
self
.
index
))
self
.
cfg
(
"privateIp"
,
"192.168.0.%d"
%
(
self
.
index
))
self
.
cfgDict
[
"dataDir"
]
=
self
.
dataDir
self
.
cfg
(
"dataDir"
,
self
.
dataDir
)
self
.
cfgDict
[
"logDir"
]
=
self
.
logDir
self
.
cfg
(
"logDir"
,
self
.
logDir
)
# self.cfg("dataDir",self.dataDir)
print
(
updatecfgDict
)
# self.cfg("logDir",self.logDir)
# print(updatecfgDict)
isFirstDir
=
1
if
updatecfgDict
[
0
]
and
updatecfgDict
[
0
][
0
]:
if
updatecfgDict
[
0
]
and
updatecfgDict
[
0
][
0
]:
print
(
updatecfgDict
[
0
][
0
])
print
(
updatecfgDict
[
0
][
0
])
for
key
,
value
in
updatecfgDict
[
0
][
0
].
items
():
for
key
,
value
in
updatecfgDict
[
0
][
0
].
items
():
self
.
addExtraCfg
(
key
,
value
)
if
value
==
'dataDir'
:
if
isFirstDir
:
self
.
cfgDict
.
pop
(
'dataDir'
)
self
.
cfg
(
value
,
key
)
isFirstDir
=
0
else
:
self
.
cfg
(
value
,
key
)
else
:
self
.
addExtraCfg
(
key
,
value
)
for
key
,
value
in
self
.
cfgDict
.
items
():
for
key
,
value
in
self
.
cfgDict
.
items
():
self
.
cfg
(
key
,
value
)
self
.
cfg
(
key
,
value
)
...
@@ -282,13 +292,15 @@ class TDDnode:
...
@@ -282,13 +292,15 @@ class TDDnode:
break
break
popen
=
subprocess
.
Popen
(
'tail -f '
+
logFile
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
,
shell
=
True
)
popen
=
subprocess
.
Popen
(
'tail -f '
+
logFile
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
,
shell
=
True
)
pid
=
popen
.
pid
pid
=
popen
.
pid
print
(
'Popen.pid:'
+
str
(
pid
))
# print('Popen.pid:' + str(pid))
timeout
=
time
.
time
()
+
60
*
2
while
True
:
while
True
:
line
=
popen
.
stdout
.
readline
().
strip
()
line
=
popen
.
stdout
.
readline
().
strip
()
if
bkey
in
line
:
if
bkey
in
line
:
print
(
line
)
popen
.
kill
()
popen
.
kill
()
break
break
if
time
.
time
()
>
timeout
:
tdLog
.
exit
(
'wait too long for taosd start'
)
tdLog
.
debug
(
"the dnode:%d has been started."
%
(
self
.
index
))
tdLog
.
debug
(
"the dnode:%d has been started."
%
(
self
.
index
))
else
:
else
:
tdLog
.
debug
(
"wait 10 seconds for the dnode:%d to start."
%
(
self
.
index
))
tdLog
.
debug
(
"wait 10 seconds for the dnode:%d to start."
%
(
self
.
index
))
...
...
tests/pytest/util/sql.py
浏览文件 @
7953e06c
...
@@ -16,9 +16,12 @@ import os
...
@@ -16,9 +16,12 @@ import os
import
time
import
time
import
datetime
import
datetime
import
inspect
import
inspect
import
psutil
import
shutil
from
util.log
import
*
from
util.log
import
*
class
TDSql
:
class
TDSql
:
def
__init__
(
self
):
def
__init__
(
self
):
self
.
queryRows
=
0
self
.
queryRows
=
0
...
@@ -183,6 +186,50 @@ class TDSql:
...
@@ -183,6 +186,50 @@ class TDSql:
tdLog
.
exit
(
"%s(%d) failed: sql:%s, affectedRows:%d != expect:%d"
%
args
)
tdLog
.
exit
(
"%s(%d) failed: sql:%s, affectedRows:%d != expect:%d"
%
args
)
tdLog
.
info
(
"sql:%s, affectedRows:%d == expect:%d"
%
(
self
.
sql
,
self
.
affectedRows
,
expectAffectedRows
))
tdLog
.
info
(
"sql:%s, affectedRows:%d == expect:%d"
%
(
self
.
sql
,
self
.
affectedRows
,
expectAffectedRows
))
def
taosdStatus
(
self
,
state
):
tdLog
.
sleep
(
5
)
pstate
=
0
for
i
in
range
(
30
):
pstate
=
0
pl
=
psutil
.
pids
()
for
pid
in
pl
:
if
psutil
.
Process
(
pid
).
name
==
'taosd'
:
pstate
=
1
break
if
pstate
:
tdLog
.
sleep
(
5
)
continue
pstate
=
0
break
args
=
(
pstate
,
state
)
if
pstate
==
state
:
tdLog
.
info
(
"taosd state is %d == expect:%d"
%
args
)
else
:
tdLog
.
exit
(
"taosd state is %d != expect:%d"
%
args
)
pass
def
haveFile
(
self
,
dir
,
state
):
if
os
.
path
.
exists
(
dir
)
and
os
.
path
.
isdir
(
dir
):
if
not
os
.
listdir
(
dir
):
if
state
:
tdLog
.
exit
(
"dir: %s is empty, expect: not empty"
%
dir
)
else
:
tdLog
.
info
(
"dir: %s is empty, expect: empty"
%
dir
)
else
:
if
state
:
tdLog
.
info
(
"dir: %s is empty, expect: not empty"
%
dir
)
else
:
tdLog
.
exit
(
"dir: %s is empty, expect: empty"
%
dir
)
else
:
tdLog
.
exit
(
"dir: %s doesn't exist"
%
dir
)
def
createDir
(
self
,
dir
):
if
os
.
path
.
exists
(
dir
):
shutil
.
rmtree
(
dir
)
tdLog
.
info
(
"dir: %s is removed"
%
dir
)
os
.
makedirs
(
dir
,
755
)
tdLog
.
info
(
"dir: %s is created"
%
dir
)
pass
tdSql
=
TDSql
()
tdSql
=
TDSql
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录