From f9b2c27c0a597aa0a50c4571cda2e9130f1da9ef Mon Sep 17 00:00:00 2001 From: liuyq-617 Date: Tue, 12 Jan 2021 10:42:46 +0800 Subject: [PATCH] [TD-2723]add case for multi-level storage --- tests/pytest/multilevel/basic.py | 16 +++--- tests/pytest/multilevel/dirNotExist.py | 15 +++--- .../pytest/multilevel/dirPermissionDenied.py | 51 +++++++++++++++++++ tests/pytest/multilevel/moreThan16disks.py | 51 +++++-------------- .../pytest/multilevel/multiMainMountPoint.py | 13 +++-- tests/pytest/multilevel/noneMainMountPoint.py | 13 +++-- 6 files changed, 90 insertions(+), 69 deletions(-) create mode 100644 tests/pytest/multilevel/dirPermissionDenied.py diff --git a/tests/pytest/multilevel/basic.py b/tests/pytest/multilevel/basic.py index b3e38cb6ce..95549409c9 100644 --- a/tests/pytest/multilevel/basic.py +++ b/tests/pytest/multilevel/basic.py @@ -25,24 +25,22 @@ class TDTestCase: tdSql.init(conn.cursor(), logSql) def run(self): - self.ntables = 10 - self.rowsPerTable = 10 - self.startTime = 1520000010000 - - tdDnodes.stop(1) - print('-'*40) cfg={ '/mnt/data1' : 'dataDir', '/mnt/data2 0 0' : 'dataDir' } - print('*'*40) tdSql.createDir('/mnt/data1') tdSql.createDir('/mnt/data2') - print('+'*40) + + tdLog.info("================= step1") + tdDnodes.stop(1) tdDnodes.deploy(1,cfg) tdDnodes.startWithoutSleep(1) - tdSql.taosdStatus(0) + tdLog.info("================= step2") + tdSql.haveFile('/mnt/data1',1) + tdSql.haveFile('/mnt/data2',1) + def stop(self): tdSql.close() diff --git a/tests/pytest/multilevel/dirNotExist.py b/tests/pytest/multilevel/dirNotExist.py index a0d9d4c5bf..e895ac31ad 100644 --- a/tests/pytest/multilevel/dirNotExist.py +++ b/tests/pytest/multilevel/dirNotExist.py @@ -25,19 +25,20 @@ class TDTestCase: tdSql.init(conn.cursor(), logSql) def run(self): - self.ntables = 10 - self.rowsPerTable = 10 - self.startTime = 1520000010000 - - tdDnodes.stop(1) cfg={ - 'dataDir': '/mnt/data1 0 0 ', - 'dataDir': '/mnt/data2 0 0' + '/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): diff --git a/tests/pytest/multilevel/dirPermissionDenied.py b/tests/pytest/multilevel/dirPermissionDenied.py new file mode 100644 index 0000000000..db2cdcf757 --- /dev/null +++ b/tests/pytest/multilevel/dirPermissionDenied.py @@ -0,0 +1,51 @@ +################################################################### +# 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()) diff --git a/tests/pytest/multilevel/moreThan16disks.py b/tests/pytest/multilevel/moreThan16disks.py index 09af90f160..407e5aa697 100644 --- a/tests/pytest/multilevel/moreThan16disks.py +++ b/tests/pytest/multilevel/moreThan16disks.py @@ -25,50 +25,23 @@ class TDTestCase: tdSql.init(conn.cursor(), logSql) def run(self): - self.ntables = 10 - self.rowsPerTable = 10 - self.startTime = 1520000010000 + 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) - cfg={ - 'dataDir': '/mnt/data1 0 0', - 'dataDir': '/mnt/data2 0 0', - 'dataDir': '/mnt/data3 0 0', - 'dataDir': '/mnt/data4 0 0', - 'dataDir': '/mnt/data5 0 0', - 'dataDir': '/mnt/data6 0 0', - 'dataDir': '/mnt/data7 0 0', - 'dataDir': '/mnt/data8 0 0', - 'dataDir': '/mnt/data9 0 0', - 'dataDir': '/mnt/data10 0 0', - 'dataDir': '/mnt/data11 0 0', - 'dataDir': '/mnt/data12 0 0', - 'dataDir': '/mnt/data13 0 0', - 'dataDir': '/mnt/data14 0 0', - 'dataDir': '/mnt/data15 0 0', - 'dataDir': '/mnt/data16 0 0', - 'dataDir': '/mnt/data17 0 0' - } - tdSql.createDir('/mnt/data1') - tdSql.createDir('/mnt/data2') - tdSql.createDir('/mnt/data3') - tdSql.createDir('/mnt/data4') - tdSql.createDir('/mnt/data5') - tdSql.createDir('/mnt/data6') - tdSql.createDir('/mnt/data7') - tdSql.createDir('/mnt/data8') - tdSql.createDir('/mnt/data9') - tdSql.createDir('/mnt/data10') - tdSql.createDir('/mnt/data11') - tdSql.createDir('/mnt/data12') - tdSql.createDir('/mnt/data13') - tdSql.createDir('/mnt/data14') - tdSql.createDir('/mnt/data15') - tdSql.createDir('/mnt/data16') - tdSql.createDir('/mnt/data17') tdDnodes.deploy(1,cfg) tdDnodes.startWithoutSleep(1) + tdLog.info("================= step2") + tdSql.taosdStatus(0) def stop(self): diff --git a/tests/pytest/multilevel/multiMainMountPoint.py b/tests/pytest/multilevel/multiMainMountPoint.py index 4a0a913b23..c5af816205 100644 --- a/tests/pytest/multilevel/multiMainMountPoint.py +++ b/tests/pytest/multilevel/multiMainMountPoint.py @@ -25,20 +25,19 @@ class TDTestCase: tdSql.init(conn.cursor(), logSql) def run(self): - self.ntables = 10 - self.rowsPerTable = 10 - self.startTime = 1520000010000 - - tdDnodes.stop(1) cfg={ - 'dataDir': '/mnt/data1', - 'dataDir': '/mnt/data2' + '/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): diff --git a/tests/pytest/multilevel/noneMainMountPoint.py b/tests/pytest/multilevel/noneMainMountPoint.py index 2a6e092bf7..67fab7c7a2 100644 --- a/tests/pytest/multilevel/noneMainMountPoint.py +++ b/tests/pytest/multilevel/noneMainMountPoint.py @@ -25,20 +25,19 @@ class TDTestCase: tdSql.init(conn.cursor(), logSql) def run(self): - self.ntables = 10 - self.rowsPerTable = 10 - self.startTime = 1520000010000 - - tdDnodes.stop(1) cfg={ - 'dataDir': '/mnt/data1 0 0', - 'dataDir': '/mnt/data2 0 0' + '/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): -- GitLab