diff --git a/tests/pytest/manualTest/manual_chang_time_1_1.py b/tests/pytest/manualTest/manual_chang_time_1_1.py index 0d82f7c8712ea34713a8b0f94e16efc49c68a415..69ea6f349bc6a16079df802a8a32034c2fa1a98f 100644 --- a/tests/pytest/manualTest/manual_chang_time_1_1.py +++ b/tests/pytest/manualTest/manual_chang_time_1_1.py @@ -16,6 +16,8 @@ from util.log import * from util.cases import * from util.sql import * from util.dnodes import tdDnodes +from datetime import datetime +import subprocess ##TODO: auto test version is currently unsupported, need to come up with # an auto test version in the future @@ -54,9 +56,31 @@ class TDTestCase: os.system ('timedatectl set-time 2020-10-20') #run taosdemo to insert data. one row per second from 2020/10/11 to 2020/10/20 - # + #11 data files should be generated + #vnode at TDinternal/community/sim/dnode1/data/vnode os.system("%staosdemo -f tools/taosdemoAllTest/manual_change_time_1_1_A.json" % binPath) - input("please check memory usage for taosd. After checking, press enter") + input("please the data file. After checking, press enter") + + tdSql.query('select first(ts) from stb_0') + tdSql.checkData(0,0,datetime(2020,10,11,0,0,0,0)) + tdSql.query('select last(ts) from stb_0') + tdSql.checkData(0,0,datetime(2020,10,20,23,59,59,0)) + + os.system ('timedatectl set-time 2020-10-25') + + #run taosdemo to insert data. one row per second from 2020/10/16 to 2020/10/20 + #4 oldest data file should be removed from tsdb/data + #vnode at TDinternal/community/sim/dnode1/data/vnode + #7 data file should be found + os.system("%staosdemo -f tools/taosdemoAllTest/manual_change_time_1_1_B.json" % binPath) + input("please the data file. After checking, press enter") + + tdSql.query('select first(ts) from stb_0') + tdSql.checkData(0,0,datetime(2020,10,14,8,0,0,0)) + + ##test results + #2021/06/05 first check: 11 data files second check: 7 data files + # confirm with the assumption Baosheng Chang def stop(self): tdSql.close() diff --git a/tests/pytest/manualTest/manual_chang_time_1_2.py b/tests/pytest/manualTest/manual_chang_time_1_2.py new file mode 100644 index 0000000000000000000000000000000000000000..26661f7314ca2abf5ada464dadafde53d3733c0a --- /dev/null +++ b/tests/pytest/manualTest/manual_chang_time_1_2.py @@ -0,0 +1,86 @@ +################################################################### +# 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 * +from util.dnodes import tdDnodes +from datetime import datetime + +##TODO: auto test version is currently unsupported, need to come up with +# an auto test version in the future +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/" + + ## change system time to 2020/10/20 + os.system ('timedatectl set-ntp off') + os.system ('timedatectl set-time 2020-10-20') + + #run taosdemo to insert data. one row per second from 2020/10/11 to 2020/10/20 + #11 data files should be generated + #vnode at TDinternal/community/sim/dnode1/data/vnode + os.system("%staosdemo -f tools/taosdemoAllTest/manual_change_time_1_1_A.json" % binPath) + input("please the data file. After checking, press enter") + + tdSql.query('select first(ts) from stb_0') #check the last data in the database + tdSql.checkData(0,0,datetime(2020,10,11,0,0,0,0)) + + os.system ('timedatectl set-time 2020-10-25') + + #restart taosd + #4 oldest data file should be removed from tsdb/data + #vnode at TDinternal/community/sim/dnode1/data/vnode + #7 data file should be found + tdDnodes.stop(1) + tdDnodes.start(1) + tdSql.query('select first(ts) from stb_0') + tdSql.checkData(0,0,datetime(2020,10,14,8,0,0,0)) #check the last data in the database + input("please the data file. After checking, press enter") + + + + def stop(self): + tdSql.close() + tdLog.debug("%s alter block manual check finish" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase()) diff --git a/tests/pytest/manualTest/manual_chang_time_1_auto_test.py b/tests/pytest/manualTest/manual_chang_time_1_auto_test.py new file mode 100644 index 0000000000000000000000000000000000000000..86bc77404b6755501e5d8087c9a86f30ff173c79 --- /dev/null +++ b/tests/pytest/manualTest/manual_chang_time_1_auto_test.py @@ -0,0 +1,77 @@ +################################################################### +# 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 * +from util.dnodes import tdDnodes +from datetime import datetime +import subprocess + +##TODO: auto test version is currently unsupported, need to come up with +# an auto test version in the future +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/" + + ## change system time to 2020/10/20 + os.system ('timedatectl set-ntp off') + os.system ('timedatectl set-time 2020-10-20') + + #run taosdemo to insert data. one row per second from 2020/10/11 to 2020/10/20 + #11 data files should be generated + #vnode at TDinternal/community/sim/dnode1/data/vnode + #os.system("%staosdemo -f tools/taosdemoAllTest/manual_change_time_1_1_A.json" % binPath) + #input("please the data file. After checking, press enter") + commandArray = ['ls', '-l', f'{binPath}sim/dnode1/data/vnode/vnode2/tsdb/data', '|grep', '\'data\'', '|wc', '-l'] + result = subprocess.run(commandArray, stdout=subprocess.PIPE).stdout.decode('utf-8') + print(result) + # tdSql.query('select first(ts) from stb_0') + # tdSql.checkData(0,0,datetime(2020,10,11,0,0,0,0)) + # tdSql.query('select last(ts) from stb_0') + # tdSql.checkData(0,0,datetime(2020,10,20,23,59,59,0)) + + def stop(self): + tdSql.close() + tdLog.debug("%s alter block manual check finish" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase()) diff --git a/tests/pytest/tools/taosdemoAllTest/manual_change_time_1_1_B.json b/tests/pytest/tools/taosdemoAllTest/manual_change_time_1_1_B.json index 846730acfb19958eff08708995e5af2423a68c23..aeee6322e5c0e6b58c0433be5f345e7c4f84f339 100644 --- a/tests/pytest/tools/taosdemoAllTest/manual_change_time_1_1_B.json +++ b/tests/pytest/tools/taosdemoAllTest/manual_change_time_1_1_B.json @@ -40,7 +40,7 @@ "batch_create_tbl_num": 20, "data_source": "rand", "insert_mode": "taosc", - "insert_rows": 86400, + "insert_rows": 432000, "childtable_limit": 1, "childtable_offset":0, "interlace_rows": 0, @@ -49,7 +49,7 @@ "disorder_ratio": 0, "disorder_range": 1000, "timestamp_step": 1000, - "start_timestamp": "2020-10-17 00:00:00.000", + "start_timestamp": "2020-10-16 00:00:00.500", "sample_format": "csv", "sample_file": "./tools/taosdemoAllTest/sample.csv", "tags_file": "",