taosdemoTest2.py 2.8 KB
Newer Older
P
Ping Xiao 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
###################################################################
#           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 os
from util.log import *
from util.cases import *
from util.sql import *
from util.dnodes import *
import threading
import time


class TDTestCase:
    def init(self, conn, logSql):
        tdLog.debug("start to execute %s" % __file__)
        tdSql.init(conn.cursor(), logSql)

        self.numberOfTables = 10
        self.numberOfRecords = 1000000

    def insertDataAndAlterTable(self, threadID):
        if(threadID == 0):
34
            os.system("taosdemo -M -y -t %d -n %d -x" %
35
                      (self.numberOfTables, self.numberOfRecords))
P
Ping Xiao 已提交
36
        if(threadID == 1):
P
Ping Xiao 已提交
37
            time.sleep(2)
P
Ping Xiao 已提交
38
            print("use test")
39
            tdSql.execute("use test")
P
Ping Xiao 已提交
40
            # check if all the tables have heen created
P
Ping Xiao 已提交
41 42 43
            while True:
                tdSql.query("show tables")
                rows = tdSql.queryRows
P
Ping Xiao 已提交
44 45 46 47 48
                print("number of tables: %d" % rows)
                if(rows == self.numberOfTables):
                    break
                time.sleep(1)
            # check if there are any records in the last created table
P
Ping Xiao 已提交
49 50 51 52
            while True:
                print("query started")
                tdSql.query("select * from test.t9")
                rows = tdSql.queryRows
P
Ping Xiao 已提交
53
                print("number of records: %d" % rows)
P
Ping Xiao 已提交
54 55
                if(rows > 0):
                    break
56
                time.sleep(1)
57 58 59 60
            print("alter table test.meters add column col10 int")
            tdSql.execute("alter table test.meters add column col10 int")
            print("insert into test.t0 values (now, 1, 2, 3, 4, 0.1, 0.01,'test', '测试', TRUE, 1610000000000, 0)")
            tdSql.execute("insert into test.t0 values (now, 1, 2, 3, 4, 0.1, 0.01,'test', '测试', TRUE, 1610000000000, 0)")
P
Ping Xiao 已提交
61

62
    def run(self):
P
Ping Xiao 已提交
63 64 65 66 67
        tdSql.prepare()

        t1 = threading.Thread(target=self.insertDataAndAlterTable, args=(0, ))
        t2 = threading.Thread(target=self.insertDataAndAlterTable, args=(1, ))

68
        t1.start()
P
Ping Xiao 已提交
69 70 71 72 73 74 75 76 77 78 79 80 81
        t2.start()
        t1.join()
        t2.join()

        tdSql.query("select count(*) from test.meters")
        tdSql.checkData(0, 0, self.numberOfRecords * self.numberOfTables + 1)

    def stop(self):
        tdSql.close()
        tdLog.success("%s successfully executed" % __file__)


tdCases.addWindows(__file__, TDTestCase())
82
tdCases.addLinux(__file__, TDTestCase())