From 341daa0e68564add21209b623d9ddf2fa0dd890a Mon Sep 17 00:00:00 2001 From: tomchon Date: Thu, 12 Aug 2021 20:53:41 +0800 Subject: [PATCH] [TD-5898]add testcase of taosdumping dbname and stbname --- tests/pytest/tools/taosdumpTest.py | 2 +- tests/pytest/tools/taosdumpTest3.py | 184 ++++++++++++++++++++++++++++ 2 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 tests/pytest/tools/taosdumpTest3.py diff --git a/tests/pytest/tools/taosdumpTest.py b/tests/pytest/tools/taosdumpTest.py index 0dfc42f331..c33a96bb68 100644 --- a/tests/pytest/tools/taosdumpTest.py +++ b/tests/pytest/tools/taosdumpTest.py @@ -55,7 +55,7 @@ class TDTestCase: if not os.path.exists("./taosdumptest/tmp1"): os.makedirs("./taosdumptest/tmp1") else: - print("目录存在") + print("path has already existed") if not os.path.exists("./taosdumptest/tmp2"): os.makedirs("./taosdumptest/tmp2") diff --git a/tests/pytest/tools/taosdumpTest3.py b/tests/pytest/tools/taosdumpTest3.py new file mode 100644 index 0000000000..15f1758ba5 --- /dev/null +++ b/tests/pytest/tools/taosdumpTest3.py @@ -0,0 +1,184 @@ +################################################################### +# 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 * + + +class TDTestCase: + def init(self, conn, logSql): + tdLog.debug("start to execute %s" % __file__) + tdSql.init(conn.cursor(), logSql) + + self.ts = 1538548685000 + self.numberOfTables = 10000 + self.numberOfRecords = 100 + + def checkCommunity(self): + selfPath = os.path.dirname(os.path.realpath(__file__)) + if ("community" in selfPath): + return False + else: + return True + + 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 ("taosdump" 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): + if not os.path.exists("./taosdumptest/tmp1"): + os.makedirs("./taosdumptest/tmp1") + else: + print("path has already existed") + + if not os.path.exists("./taosdumptest/tmp2"): + os.makedirs("./taosdumptest/tmp2") + if not os.path.exists("./taosdumptest/tmp3"): + os.makedirs("./taosdumptest/tmp3") + if not os.path.exists("./taosdumptest/tmp4"): + os.makedirs("./taosdumptest/tmp4") + + + buildPath = self.getBuildPath() + if (buildPath == ""): + tdLog.exit("taosdump not found!") + else: + tdLog.info("taosdump found in %s" % buildPath) + binPath = buildPath + "/build/bin/" + + # create db1 , one stables and one table ; create general tables + tdSql.execute("create database if not exists dp1") + tdSql.execute("use dp1") + tdSql.execute("create stable st0(ts timestamp, c1 int, c2 nchar(10)) tags(t1 int)") + tdSql.execute("create table st0_0 using st0 tags(0) st0_1 using st0 tags (1) ") + tdSql.execute("insert into st0_0 values(1614218412000,8537,'R')(1614218422000,8538,'E')") + tdSql.execute("insert into st0_1 values(1614218413000,1537,'A')(1614218423000,1538,'D')") + tdSql.execute("create table if not exists gt0 (ts timestamp, c0 int, c1 float) ") + tdSql.execute("create table if not exists gt1 (ts timestamp, c0 int, c1 double) ") + tdSql.execute("insert into gt0 values(1614218412000,637,8.861)") + tdSql.execute("insert into gt1 values(1614218413000,638,8.862)") + # create db1 , three stables ; create general tables + tdSql.execute("create database if not exists dp2") + tdSql.execute("use dp2") + tdSql.execute("create stable st0(ts timestamp, c01 int, c02 nchar(10)) tags(t1 int)") + tdSql.execute("create table st0_0 using st0 tags(0) st0_1 using st0 tags(1) ") + tdSql.execute("insert into st0_0 values(1614218412000,8600,'R')(1614218422000,8600,'E')") + tdSql.execute("insert into st0_1 values(1614218413000,8601,'A')(1614218423000,8601,'D')") + tdSql.execute("create stable st1(ts timestamp, c11 float, c12 nchar(10)) tags(t1 int)") + tdSql.execute("create table st1_0 using st1 tags(0) st1_1 using st1 tags(1) ") + tdSql.execute("insert into st1_0 values(1614218412000,8610.1,'R')(1614218422000,8610.1,'E')") + tdSql.execute("insert into st1_1 values(1614218413000,8611.2,'A')(1614218423000,8611.1,'D')") + tdSql.execute("create stable st2(ts timestamp, c21 float, c22 nchar(10)) tags(t1 int)") + tdSql.execute("create table st2_0 using st2 tags(0) st2_1 using st2 tags(1) ") + tdSql.execute("insert into st2_0 values(1614218412000,8620.3,'R')(1614218422000,8620.3,'E')") + tdSql.execute("insert into st2_1 values(1614218413000,8621.4,'A')(1614218423000,8621.4,'D')") + tdSql.execute("create table if not exists gt0 (ts timestamp, c00 int, c01 float) ") + tdSql.execute("create table if not exists gt1 (ts timestamp, c10 int, c11 double) ") + tdSql.execute("create table if not exists gt2 (ts timestamp, c20 int, c21 float) ") + tdSql.execute("insert into gt0 values(1614218412000,8637,78.86155)") + tdSql.execute("insert into gt1 values(1614218413000,8638,78.862020199)") + tdSql.execute("insert into gt2 values(1614218413000,8639,78.863)") + + # tdSql.execute("insert into t0 values(1614218422000,8638,'R')") + os.system("rm -rf ./taosdumptest/tmp1/*") + os.system("rm -rf ./taosdumptest/tmp2/*") + os.system("rm -rf ./taosdumptest/tmp3/*") + os.system("rm -rf ./taosdumptest/tmp4/*") + # taosdump stable and general table + os.system("%staosdump -o ./taosdumptest/tmp1 -D dp1 dp2 " % binPath) + os.system("%staosdump -o ./taosdumptest/tmp2 dp1 st0 gt0 " % binPath) + os.system("%staosdump -o ./taosdumptest/tmp3 dp2 st0 st1_0 gt0" % binPath) + os.system("%staosdump -o ./taosdumptest/tmp4 dp2 st0 st2 gt0 gt2" % binPath) + + #check taosdumptest/tmp1 + tdSql.execute("drop database dp1") + tdSql.execute("drop database dp2") + os.system("%staosdump -i ./taosdumptest/tmp1 -T 2 " % binPath) + tdSql.execute("use dp1") + tdSql.query("show stables") + tdSql.checkRows(1) + tdSql.query("show tables") + tdSql.checkRows(4) + tdSql.execute("use dp2") + tdSql.query("show stables") + tdSql.checkRows(3) + tdSql.query("show tables") + tdSql.checkRows(9) + + #check taosdumptest/tmp2 + tdSql.execute("drop database dp1") + tdSql.execute("drop database dp2") + os.system("%staosdump -i ./taosdumptest/tmp2 -T 2 " % binPath) + tdSql.execute("use dp1") + tdSql.query("show stables") + tdSql.checkRows(1) + tdSql.query("show tables") + tdSql.checkRows(3) + tdSql.error("use dp2") + + #check taosdumptest/tmp3 + tdSql.execute("drop database dp1") + os.system("%staosdump -i ./taosdumptest/tmp3 -T 2 " % binPath) + tdSql.execute("use dp2") + tdSql.query("show stables") + tdSql.checkRows(2) + tdSql.query("show tables") + tdSql.checkRows(4) + tdSql.query("select count(*) from st1_0") + tdSql.error("use dp1") + tdSql.error("select count(*) from st2_0") + tdSql.error("select count(*) from gt2") + + #check taosdumptest/tmp4 + tdSql.execute("drop database dp2") + os.system("%staosdump -i ./taosdumptest/tmp4 -T 2 " % binPath) + tdSql.execute("use dp2") + tdSql.query("show stables") + tdSql.checkRows(2) + tdSql.query("show tables") + tdSql.checkRows(6) + tdSql.query("select count(*) from st2_0") + tdSql.error("use dp1") + tdSql.error("select count(*) from st1_0") + tdSql.error("select count(*) from gt3") + # tdSql.checkData(0, 0, 400) + + tdSql.execute("drop database dp2") + # os.system("rm -rf ./taosdumptest/tmp1") + # os.system("rm -rf ./taosdumptest/tmp2") + # os.system("rm -rf ./dump_result.txt") + # os.system("rm -rf ./db.csv") + + def stop(self): + tdSql.close() + tdLog.success("%s successfully executed" % __file__) + + +tdCases.addWindows(__file__, TDTestCase()) +tdCases.addLinux(__file__, TDTestCase()) -- GitLab