未验证 提交 95667d91 编写于 作者: H Hui Li 提交者: GitHub

Merge pull request #7751 from taosdata/test/td-6482

[TD-6482]<test>: add 4 testcases for issue-7666
......@@ -394,6 +394,7 @@ python3 ./test.py -f alter/alterColMultiTimes.py
python3 ./test.py -f query/queryWildcardLength.py
python3 ./test.py -f query/queryTbnameUpperLower.py
python3 ./test.py -f query/queryGroupTbname.py
python3 ./test.py -f insert/verifyMemToDiskCrash.py
#======================p4-end===============
......
###################################################################
# 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 -*-
from util.log import tdLog
from util.cases import tdCases
from util.sql import tdSql
from util.common import tdCom
class TDTestCase:
def init(self, conn, logSql):
tdLog.debug("start to execute %s" % __file__)
tdSql.init(conn.cursor(), logSql)
def checkTbMemDiskMerge(self):
tb_name = tdCom.getLongName(8, "letters")
tdSql.execute(
f'CREATE TABLE {tb_name} (ts timestamp, c1 int, c2 int)')
tdSql.execute(
f'insert into {tb_name} values ("2021-01-01 12:00:00.000", 1, 1)')
tdSql.execute(
f'insert into {tb_name} values ("2021-01-03 12:00:00.000", 3, 3)')
tdCom.restartTaosd()
tdSql.execute(
f'insert into {tb_name} values ("2021-01-02 12:00:00.000", Null, 2)')
tdSql.execute(
f'insert into {tb_name} values ("2021-01-04 12:00:00.000", Null, 4)')
query_sql = f'select * from {tb_name}'
res1 = tdSql.query(query_sql, True)
tdCom.restartTaosd()
res2 = tdSql.query(query_sql, True)
for i in range(4):
tdSql.checkEqual(res1[i], res2[i])
def checkStbMemDiskMerge(self):
stb_name = tdCom.getLongName(7, "letters")
tb_name = f'{stb_name}_sub'
tdSql.execute(
f'CREATE TABLE {stb_name} (ts timestamp, c1 int, c2 int) tags (t1 int)')
tdSql.execute(
f'CREATE TABLE {tb_name} using {stb_name} tags (1)')
tdSql.execute(
f'insert into {tb_name} values ("2021-01-01 12:00:00.000", 1, 1)')
tdSql.execute(
f'insert into {tb_name} values ("2021-01-03 12:00:00.000", 3, 3)')
tdCom.restartTaosd()
tdSql.execute(
f'insert into {tb_name} values ("2021-01-02 12:00:00.000", Null, 2)')
tdSql.execute(
f'insert into {tb_name} values ("2021-01-04 12:00:00.000", Null, 4)')
query_sql = f'select * from {stb_name}'
res1 = tdSql.query(query_sql, True)
tdCom.restartTaosd()
res2 = tdSql.query(query_sql, True)
for i in range(4):
tdSql.checkEqual(res1[i], res2[i])
def checkTbSuperSubBlockMerge(self):
tb_name = tdCom.getLongName(6, "letters")
tdSql.execute(
f'CREATE TABLE {tb_name} (ts timestamp, c1 int)')
start_ts = 1577808001000
for i in range(10):
tdSql.execute(
f'insert into {tb_name} values ({start_ts}, {i})')
start_ts += 1
tdCom.restartTaosd()
for i in range(10):
tdSql.execute(
f'insert into {tb_name} values ({start_ts}, Null)')
start_ts += 1
tdCom.restartTaosd()
for i in range(10):
new_ts = i + 10 + 10
tdSql.execute(
f'insert into {tb_name} values ({start_ts}, {new_ts})')
start_ts += 1
tdCom.restartTaosd()
tdSql.query(f'select * from {tb_name}')
def checkStbSuperSubBlockMerge(self):
stb_name = tdCom.getLongName(5, "letters")
tb_name = f'{stb_name}_sub'
tdSql.execute(
f'CREATE TABLE {stb_name} (ts timestamp, c1 int) tags (t1 int)')
tdSql.execute(
f'CREATE TABLE {tb_name} using {stb_name} tags (1)')
start_ts = 1577808001000
for i in range(10):
tdSql.execute(
f'insert into {tb_name} values ({start_ts}, {i})')
start_ts += 1
tdCom.restartTaosd()
for i in range(10):
tdSql.execute(
f'insert into {tb_name} values ({start_ts}, Null)')
start_ts += 1
tdCom.restartTaosd()
for i in range(10):
new_ts = i + 10 + 10
tdSql.execute(
f'insert into {tb_name} values ({start_ts}, {new_ts})')
start_ts += 1
tdCom.restartTaosd()
tdSql.query(f'select * from {stb_name}')
def run(self):
tdSql.prepare()
self.checkTbMemDiskMerge()
self.checkStbMemDiskMerge()
self.checkTbSuperSubBlockMerge()
self.checkStbSuperSubBlockMerge()
def stop(self):
tdSql.close()
tdLog.success("%s successfully executed" % __file__)
tdCases.addWindows(__file__, TDTestCase())
tdCases.addLinux(__file__, TDTestCase())
......@@ -14,6 +14,7 @@
import random
import string
from util.sql import tdSql
from util.dnodes import tdDnodes
class TDCom:
def init(self, conn, logSql):
......@@ -47,6 +48,11 @@ class TDCom:
chars = ''.join(random.choice(string.ascii_letters.lower() + string.digits) for i in range(len))
return chars
def restartTaosd(self, index=1, db_name="db"):
tdDnodes.stop(index)
tdDnodes.startWithoutSleep(index)
tdSql.execute(f"use {db_name}")
def close(self):
self.cursor.close()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册