manual_alter_block.py 3.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
###################################################################
#           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
from util.log import *
from util.cases import *
from util.sql import *
18
from util.dnodes import tdDnodes
19

20 21
##TODO: auto test version is currently unsupported, need to come up with 
#       an auto test version in the future
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
class TDTestCase:
    def init(self, conn, logSql):
        tdLog.debug("start to execute %s" % __file__)
        tdSql.init(conn.cursor(), logSql)

    def getBuildPath(self):
        selfPath = os.path.dirname(os.path.realpath(__file__))

        if ("community" in selfPath):
            projPath = selfPath[:selfPath.find("community")]
        else:
            projPath = selfPath[:selfPath.find("tests")]

        for root, dirs, files in os.walk(projPath):
            if ("taosd" in files):
                rootRealPath = os.path.dirname(os.path.realpath(root))
                if ("packaging" not in rootRealPath):
                    buildPath = root[:len(root)-len("/build/bin")]
                    break
        return buildPath
        
    def run(self):
        tdSql.prepare()
        buildPath = self.getBuildPath()
        if (buildPath == ""):
            tdLog.exit("taosd not found!")
        else:
            tdLog.info("taosd found in %s" % buildPath)
        binPath = buildPath+ "/build/bin/"  

52
        #alter cache block to 3, then check alter
B
bryanchang0603 已提交
53
        tdSql.execute('alter database db blocks 3')
54 55 56
        tdSql.query('show databases')
        tdSql.checkData(0,9,3)

57 58
        #run taosdemo to occupy all cache, need to manually check memory consumption
        os.system("%staosdemo -f tools/taosdemoAllTest/manual_block1_comp.json" % binPath) 
59 60
        input("please check memory usage for taosd. After checking, press enter")

61
        #alter cache block to 8, then check alter
62
        tdSql.execute('alter database db blocks 8')
B
bryanchang0603 已提交
63 64
        tdSql.query('show databases')
        tdSql.checkData(0,9,8)
65

66 67
        #run taosdemo to occupy all cache, need to manually check memory consumption
        os.system("%staosdemo -f tools/taosdemoAllTest/manual_block2.json" % binPath) 
68 69
        input("please check memory usage for taosd. After checking, press enter")

70 71 72 73 74 75
        ##expected result the peak memory consumption should increase by around 80MB = 5 blocks of cache

        ##test results
        #2021/06/02 before:2621700K     after: 2703640K memory usage increased by 80MB = 5 block
        #           confirm with the change in block.       Baosheng Chang

76 77
    def stop(self):
        tdSql.close()
78
        tdLog.debug("%s alter block manual check finish" % __file__)
79 80 81 82


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