diff --git a/tests/pytest/multilevel/basic.py b/tests/pytest/multilevel/basic.py new file mode 100644 index 0000000000000000000000000000000000000000..8ae8d9868a4d9935e993716c353f3b26e2d19d93 --- /dev/null +++ b/tests/pytest/multilevel/basic.py @@ -0,0 +1,50 @@ +################################################################### +# 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) + cfg={ + 'dataDir': '/mnt/data1', + 'dataDir': '/mnt/data2 0 0' + } + tdSql.createDir('/mnt/data1') + tdSql.createDir('/mnt/data2') + 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()) diff --git a/tests/pytest/util/sql.py b/tests/pytest/util/sql.py index b2ed6212fd643c158f7ed6f4cc6cb2449a512a2e..6deeae2d0b6757a55bb1b130448ed788bb93bb88 100644 --- a/tests/pytest/util/sql.py +++ b/tests/pytest/util/sql.py @@ -16,9 +16,12 @@ import os import time import datetime import inspect +import psutil +import shutil from util.log import * + class TDSql: def __init__(self): self.queryRows = 0 @@ -183,6 +186,46 @@ class TDSql: 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)) - - + + def taosdStatus(self, state): + pstate = 0 + loop = 0 + for i in range(30): + pl = psutil.pids() + for pid in pl: + if psutil.Process(pid).name == 'taosd': + pstate = 1 + loop = 1 + break + if loop:break + time.sleep(5) + + if pstate == state: + tdLog.info("taosd state is %d == expect:%d",pstate,state) + else: + tdLog.exit("taosd state is %d != expect:%d" ,pstate,state) + 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()