taosdemoTest2.py 3.1 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 -y -t %d -n %d" %
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 40 41 42 43 44 45 46 47
            while True:
                try:
                    tdSql.execute("use test")
                    break
                except Exception as e:
                    tdLog.info("use database test failed")
                    time.sleep(1)
                    continue

P
Ping Xiao 已提交
48
            # check if all the tables have heen created
P
Ping Xiao 已提交
49 50 51
            while True:
                tdSql.query("show tables")
                rows = tdSql.queryRows
P
Ping Xiao 已提交
52 53 54 55 56
                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 已提交
57 58 59 60
            while True:
                print("query started")
                tdSql.query("select * from test.t9")
                rows = tdSql.queryRows
P
Ping Xiao 已提交
61
                print("number of records: %d" % rows)
P
Ping Xiao 已提交
62 63
                if(rows > 0):
                    break
64
                time.sleep(1)
65 66 67 68
            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 已提交
69

70
    def run(self):
P
Ping Xiao 已提交
71 72 73 74 75
        tdSql.prepare()

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

76
        t1.start()
P
Ping Xiao 已提交
77 78 79 80 81 82 83 84 85 86 87 88 89
        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())
90
tdCases.addLinux(__file__, TDTestCase())