<test> fix an test case error !
This commit is contained in:
parent
85bf62aa18
commit
3aba1df2f3
|
@ -167,11 +167,11 @@ python3 test.py -f tools/taosdemoTestInterlace.py
|
|||
python3 test.py -f tools/taosdemoTestQuery.py
|
||||
|
||||
# nano support
|
||||
#python3 test.py -f tools/taosdemoAllTest/taosdemoTestSupportNanoInsert.py
|
||||
#python3 test.py -f tools/taosdemoAllTest/taosdemoTestSupportNanoQuery.py
|
||||
#python3 test.py -f tools/taosdemoAllTest/taosdemoTestSupportNanosubscribe.py
|
||||
#python3 test.py -f tools/taosdemoAllTest/taosdemoTestInsertTime_step.py
|
||||
#python3 test.py -f tools/taosdumpTestNanoSupport.py
|
||||
python3 test.py -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanoInsert.py
|
||||
python3 test.py -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanoQuery.py
|
||||
python3 test.py -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanosubscribe.py
|
||||
python3 test.py -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestInsertTime_step.py
|
||||
python3 test.py -f tools/taosdemoAllTest/NanoTestCase/taosdumpTestNanoSupport.py
|
||||
|
||||
# update
|
||||
python3 ./test.py -f update/allow_update.py
|
||||
|
@ -382,7 +382,7 @@ python3 ./test.py -f insert/flushwhiledrop.py
|
|||
python3 ./test.py -f insert/schemalessInsert.py
|
||||
|
||||
#======================p4-end===============
|
||||
# python3 test.py -f tools/taosdemoAllTest/pytest.py
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
8.855,"binary_str0" ,1626870128248246976
|
||||
8.75,"binary_str1" ,1626870128249060032
|
||||
5.44,"binary_str2" ,1626870128249067968
|
||||
8.45,"binary_str3" ,1626870128249072064
|
||||
4.07,"binary_str4" ,1626870128249075904
|
||||
6.97,"binary_str5" ,1626870128249078976
|
||||
6.86,"binary_str6" ,1626870128249082048
|
||||
1.585,"binary_str7" ,1626870128249085120
|
||||
1.4,"binary_str8" ,1626870128249087936
|
||||
5.135,"binary_str9" ,1626870128249092032
|
||||
3.15,"binary_str10" ,1626870128249095104
|
||||
1.765,"binary_str11" ,1626870128249097920
|
||||
7.71,"binary_str12" ,1626870128249100992
|
||||
3.91,"binary_str13" ,1626870128249104064
|
||||
5.615,"binary_str14" ,1626870128249106880
|
||||
9.495,"binary_str15" ,1626870128249109952
|
||||
3.825,"binary_str16" ,1626870128249113024
|
||||
1.94,"binary_str17" ,1626870128249117120
|
||||
5.385,"binary_str18" ,1626870128249119936
|
||||
7.075,"binary_str19" ,1626870128249123008
|
||||
5.715,"binary_str20" ,1626870128249126080
|
||||
1.83,"binary_str21" ,1626870128249128896
|
||||
6.365,"binary_str22" ,1626870128249131968
|
||||
6.55,"binary_str23" ,1626870128249135040
|
||||
6.315,"binary_str24" ,1626870128249138112
|
||||
3.82,"binary_str25" ,1626870128249140928
|
||||
2.455,"binary_str26" ,1626870128249145024
|
||||
7.795,"binary_str27" ,1626870128249148096
|
||||
2.47,"binary_str28" ,1626870128249150912
|
||||
1.37,"binary_str29" ,1626870128249155008
|
||||
5.39,"binary_str30" ,1626870128249158080
|
||||
5.13,"binary_str31" ,1626870128249160896
|
||||
4.09,"binary_str32" ,1626870128249163968
|
||||
5.855,"binary_str33" ,1626870128249167040
|
||||
0.17,"binary_str34" ,1626870128249170112
|
||||
1.955,"binary_str35" ,1626870128249173952
|
||||
0.585,"binary_str36" ,1626870128249178048
|
||||
0.33,"binary_str37" ,1626870128249181120
|
||||
7.925,"binary_str38" ,1626870128249183936
|
||||
9.685,"binary_str39" ,1626870128249187008
|
||||
2.6,"binary_str40" ,1626870128249191104
|
||||
5.705,"binary_str41" ,1626870128249193920
|
||||
3.965,"binary_str42" ,1626870128249196992
|
||||
4.43,"binary_str43" ,1626870128249200064
|
||||
8.73,"binary_str44" ,1626870128249202880
|
||||
3.105,"binary_str45" ,1626870128249205952
|
||||
9.39,"binary_str46" ,1626870128249209024
|
||||
2.825,"binary_str47" ,1626870128249212096
|
||||
9.675,"binary_str48" ,1626870128249214912
|
||||
9.99,"binary_str49" ,1626870128249217984
|
||||
4.51,"binary_str50" ,1626870128249221056
|
||||
4.94,"binary_str51" ,1626870128249223872
|
||||
7.72,"binary_str52" ,1626870128249226944
|
||||
4.135,"binary_str53" ,1626870128249231040
|
||||
2.325,"binary_str54" ,1626870128249234112
|
||||
4.585,"binary_str55" ,1626870128249236928
|
||||
8.76,"binary_str56" ,1626870128249240000
|
||||
4.715,"binary_str57" ,1626870128249243072
|
||||
0.56,"binary_str58" ,1626870128249245888
|
||||
5.35,"binary_str59" ,1626870128249249984
|
||||
5.075,"binary_str60" ,1626870128249253056
|
||||
6.665,"binary_str61" ,1626870128249256128
|
||||
7.13,"binary_str62" ,1626870128249258944
|
||||
2.775,"binary_str63" ,1626870128249262016
|
||||
5.775,"binary_str64" ,1626870128249265088
|
||||
1.62,"binary_str65" ,1626870128249267904
|
||||
1.625,"binary_str66" ,1626870128249270976
|
||||
8.15,"binary_str67" ,1626870128249274048
|
||||
0.75,"binary_str68" ,1626870128249277120
|
||||
3.265,"binary_str69" ,1626870128249280960
|
||||
8.585,"binary_str70" ,1626870128249284032
|
||||
1.88,"binary_str71" ,1626870128249287104
|
||||
8.44,"binary_str72" ,1626870128249289920
|
||||
5.12,"binary_str73" ,1626870128249295040
|
||||
2.58,"binary_str74" ,1626870128249298112
|
||||
9.42,"binary_str75" ,1626870128249300928
|
||||
1.765,"binary_str76" ,1626870128249304000
|
||||
2.66,"binary_str77" ,1626870128249308096
|
||||
1.405,"binary_str78" ,1626870128249310912
|
||||
5.595,"binary_str79" ,1626870128249315008
|
||||
2.28,"binary_str80" ,1626870128249318080
|
||||
9.24,"binary_str81" ,1626870128249320896
|
||||
9.03,"binary_str82" ,1626870128249323968
|
||||
6.055,"binary_str83" ,1626870128249327040
|
||||
1.74,"binary_str84" ,1626870128249330112
|
||||
5.77,"binary_str85" ,1626870128249332928
|
||||
1.97,"binary_str86" ,1626870128249336000
|
||||
0.3,"binary_str87" ,1626870128249339072
|
||||
7.145,"binary_str88" ,1626870128249342912
|
||||
0.88,"binary_str89" ,1626870128249345984
|
||||
8.025,"binary_str90" ,1626870128249349056
|
||||
4.81,"binary_str91" ,1626870128249351872
|
||||
0.725,"binary_str92" ,1626870128249355968
|
||||
3.85,"binary_str93" ,1626870128249359040
|
||||
9.455,"binary_str94" ,1626870128249362112
|
||||
2.265,"binary_str95" ,1626870128249364928
|
||||
3.985,"binary_str96" ,1626870128249368000
|
||||
9.375,"binary_str97" ,1626870128249371072
|
||||
0.2,"binary_str98" ,1626870128249373888
|
||||
6.95,"binary_str99" ,1626870128249377984
|
Can't render this file because it contains an unexpected character in line 1 and column 19.
|
|
@ -0,0 +1,100 @@
|
|||
"string0",7,8.615
|
||||
"string1",4,9.895
|
||||
"string2",3,2.92
|
||||
"string3",3,5.62
|
||||
"string4",7,1.615
|
||||
"string5",6,1.45
|
||||
"string6",5,7.48
|
||||
"string7",7,3.01
|
||||
"string8",5,4.76
|
||||
"string9",10,7.09
|
||||
"string10",2,8.38
|
||||
"string11",7,8.65
|
||||
"string12",5,5.025
|
||||
"string13",10,5.765
|
||||
"string14",2,4.57
|
||||
"string15",2,1.03
|
||||
"string16",7,6.98
|
||||
"string17",10,0.23
|
||||
"string18",7,5.815
|
||||
"string19",1,2.37
|
||||
"string20",10,8.865
|
||||
"string21",3,1.235
|
||||
"string22",2,8.62
|
||||
"string23",9,1.045
|
||||
"string24",8,4.34
|
||||
"string25",1,5.455
|
||||
"string26",2,4.475
|
||||
"string27",1,6.95
|
||||
"string28",2,3.39
|
||||
"string29",3,6.79
|
||||
"string30",7,9.735
|
||||
"string31",1,9.79
|
||||
"string32",10,9.955
|
||||
"string33",1,5.095
|
||||
"string34",3,3.86
|
||||
"string35",9,5.105
|
||||
"string36",10,4.22
|
||||
"string37",1,2.78
|
||||
"string38",9,6.345
|
||||
"string39",1,0.975
|
||||
"string40",5,6.16
|
||||
"string41",4,7.735
|
||||
"string42",5,6.6
|
||||
"string43",8,2.845
|
||||
"string44",1,0.655
|
||||
"string45",3,2.995
|
||||
"string46",9,3.6
|
||||
"string47",8,3.47
|
||||
"string48",3,7.98
|
||||
"string49",6,2.225
|
||||
"string50",9,5.44
|
||||
"string51",4,6.335
|
||||
"string52",3,2.955
|
||||
"string53",1,0.565
|
||||
"string54",6,5.575
|
||||
"string55",6,9.905
|
||||
"string56",9,6.025
|
||||
"string57",8,0.94
|
||||
"string58",10,0.15
|
||||
"string59",8,1.555
|
||||
"string60",4,2.28
|
||||
"string61",2,8.29
|
||||
"string62",9,6.22
|
||||
"string63",6,3.35
|
||||
"string64",10,6.7
|
||||
"string65",3,9.345
|
||||
"string66",7,9.815
|
||||
"string67",1,5.365
|
||||
"string68",10,3.81
|
||||
"string69",1,6.405
|
||||
"string70",8,2.715
|
||||
"string71",3,8.58
|
||||
"string72",8,6.34
|
||||
"string73",2,7.49
|
||||
"string74",4,8.64
|
||||
"string75",3,8.995
|
||||
"string76",7,3.465
|
||||
"string77",1,7.64
|
||||
"string78",6,3.65
|
||||
"string79",6,1.4
|
||||
"string80",6,5.875
|
||||
"string81",2,1.22
|
||||
"string82",5,7.87
|
||||
"string83",9,8.41
|
||||
"string84",9,8.9
|
||||
"string85",9,3.89
|
||||
"string86",2,5.0
|
||||
"string87",2,4.495
|
||||
"string88",4,2.835
|
||||
"string89",3,5.895
|
||||
"string90",7,8.41
|
||||
"string91",5,5.125
|
||||
"string92",7,9.165
|
||||
"string93",5,8.315
|
||||
"string94",10,7.485
|
||||
"string95",7,4.635
|
||||
"string96",2,6.015
|
||||
"string97",8,0.595
|
||||
"string98",3,8.79
|
||||
"string99",4,1.72
|
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "testdb3",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "ms",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 1000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "",
|
||||
"sample_file": "",
|
||||
"tags_file": "",
|
||||
"columns": [{"type": "INT"}, {"type": "DOUBLE", "count":3}, {"type": "BINARY", "len": 16, "count":2}, {"type": "BINARY", "len": 32, "count":2},
|
||||
{"type": "TIMESTAMP"}, {"type": "BIGINT", "count":3},{"type": "FLOAT", "count":1},{"type": "SMALLINT", "count":1},{"type": "TINYINT", "count":1},
|
||||
{"type": "BOOL"},{"type": "NCHAR","len":16}],
|
||||
"tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5},{"type": "NCHAR","len":16, "count":1}]
|
||||
}]
|
||||
}]
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "testdb1",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "ns",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 1000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "",
|
||||
"sample_file": "",
|
||||
"tags_file": "",
|
||||
"columns": [{"type": "INT"}, {"type": "DOUBLE", "count":3}, {"type": "BINARY", "len": 16, "count":2}, {"type": "BINARY", "len": 32, "count":2},
|
||||
{"type": "TIMESTAMP"}, {"type": "BIGINT", "count":3},{"type": "FLOAT", "count":1},{"type": "SMALLINT", "count":1},{"type": "TINYINT", "count":1},
|
||||
{"type": "BOOL"},{"type": "NCHAR","len":16}],
|
||||
"tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5},{"type": "NCHAR","len":16, "count":1}]
|
||||
}]
|
||||
}]
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "testdb2",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "us",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 1000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "",
|
||||
"sample_file": "",
|
||||
"tags_file": "",
|
||||
"columns": [{"type": "INT"}, {"type": "DOUBLE", "count":3}, {"type": "BINARY", "len": 16, "count":2}, {"type": "BINARY", "len": 32, "count":2},
|
||||
{"type": "TIMESTAMP"}, {"type": "BIGINT", "count":3},{"type": "FLOAT", "count":1},{"type": "SMALLINT", "count":1},{"type": "TINYINT", "count":1},
|
||||
{"type": "BOOL"},{"type": "NCHAR","len":16}],
|
||||
"tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5},{"type": "NCHAR","len":16, "count":1}]
|
||||
}]
|
||||
}]
|
||||
}
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
###################################################################
|
||||
# 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)
|
||||
|
||||
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):
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosd not found!")
|
||||
else:
|
||||
tdLog.info("taosd found in %s" % buildPath)
|
||||
binPath = buildPath+ "/build/bin/"
|
||||
|
||||
# insert: create one or mutiple tables per sql and insert multiple rows per sql
|
||||
|
||||
# check the params of taosdemo about time_step is nano
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoInsertNanoDB.json -y " % binPath)
|
||||
tdSql.execute("use testdb1")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count (tbname) from stb0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from tb0_0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.getData(9, 1)
|
||||
tdSql.checkDataType(9, 1,"TIMESTAMP")
|
||||
tdSql.query("select last(ts) from stb0")
|
||||
tdSql.checkData(0, 0,"2021-07-01 00:00:00.000099000")
|
||||
|
||||
# check the params of taosdemo about time_step is us
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoInsertUSDB.json -y " % binPath)
|
||||
tdSql.execute("use testdb2")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count (tbname) from stb0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from tb0_0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.getData(9, 1)
|
||||
tdSql.checkDataType(9, 1,"TIMESTAMP")
|
||||
tdSql.query("select last(ts) from stb0")
|
||||
tdSql.checkData(0, 0,"2021-07-01 00:00:00.099000")
|
||||
|
||||
# check the params of taosdemo about time_step is ms
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoInsertMSDB.json -y " % binPath)
|
||||
tdSql.execute("use testdb3")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count (tbname) from stb0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from tb0_0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.checkDataType(9, 1,"TIMESTAMP")
|
||||
tdSql.query("select last(ts) from stb0")
|
||||
tdSql.checkData(0, 0,"2021-07-01 00:01:39.000")
|
||||
|
||||
|
||||
os.system("rm -rf ./res.txt")
|
||||
os.system("rm -rf ./*.py.sql")
|
||||
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,88 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "nsdb",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "ns",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10000000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "",
|
||||
"sample_file": "",
|
||||
"tags_file": "",
|
||||
"columns": [{"type": "INT"}, {"type": "DOUBLE", "count":3}, {"type": "BINARY", "len": 16, "count":2}, {"type": "BINARY", "len": 32, "count":2},
|
||||
{"type": "TIMESTAMP"}, {"type": "BIGINT", "count":3},{"type": "FLOAT", "count":1},{"type": "SMALLINT", "count":1},{"type": "TINYINT", "count":1},
|
||||
{"type": "BOOL"},{"type": "NCHAR","len":16}],
|
||||
"tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5},{"type": "NCHAR","len":16, "count":1}]
|
||||
},
|
||||
{
|
||||
"name": "stb1",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb1_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 10,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10000000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "",
|
||||
"sample_file": "",
|
||||
"tags_file": "",
|
||||
"columns": [{"type": "INT"}, {"type": "DOUBLE", "count":3}, {"type": "BINARY", "len": 16, "count":2}, {"type": "BINARY", "len": 32, "count":2},
|
||||
{"type": "TIMESTAMP"}, {"type": "BIGINT", "count":3},{"type": "FLOAT", "count":1},{"type": "SMALLINT", "count":1},{"type": "TINYINT", "count":1},
|
||||
{"type": "BOOL"},{"type": "NCHAR","len":16}],
|
||||
"tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5},{"type": "NCHAR","len":16, "count":1}]
|
||||
}]
|
||||
}]
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "subnsdb",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "ns",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 10,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "samples",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 10,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10000000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "csv",
|
||||
"sample_file": "./tools/taosdemoAllTest/NanoTestCase/nano_samples.csv",
|
||||
"tags_file": "./tools/taosdemoAllTest/NanoTestCase/nano_sampletags.csv",
|
||||
"columns": [{"type": "DOUBLE"}, {"type": "BINARY", "len": 64, "count":1}, {"type": "TIMESTAMP", "count":1}],
|
||||
"tags": [{"type": "BINARY", "len": 16, "count":1},{"type": "INT"},{"type": "DOUBLE"}]
|
||||
},
|
||||
{
|
||||
"name": "stb1",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 10,
|
||||
"childtable_prefix": "tb1_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "samples",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 10,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 10,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10000000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "csv",
|
||||
"sample_file": "./tools/taosdemoAllTest/NanoTestCase/nano_samples.csv",
|
||||
"tags_file": "./tools/taosdemoAllTest/NanoTestCase/nano_sampletags.csv",
|
||||
"columns": [{"type": "DOUBLE"}, {"type": "BINARY", "len": 64, "count":1}, {"type": "TIMESTAMP", "count":1}],
|
||||
"tags": [{"type": "BINARY", "len": 16, "count":1},{"type": "INT"},{"type": "DOUBLE"}]
|
||||
}]
|
||||
}]
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "nsdb2",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "ns",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "rand",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10,
|
||||
"start_timestamp": "now",
|
||||
"sample_format": "",
|
||||
"sample_file": "",
|
||||
"tags_file": "",
|
||||
"columns": [{"type": "INT"}, {"type": "DOUBLE", "count":3}, {"type": "BINARY", "len": 16, "count":2}, {"type": "BINARY", "len": 32, "count":2},
|
||||
{"type": "TIMESTAMP"}, {"type": "BIGINT", "count":3},{"type": "FLOAT", "count":1},{"type": "SMALLINT", "count":1},{"type": "TINYINT", "count":1},
|
||||
{"type": "BOOL"},{"type": "NCHAR","len":16}],
|
||||
"tags": [{"type": "TINYINT", "count":2}, {"type": "BINARY", "len": 16, "count":5},{"type": "NCHAR","len":16, "count":1}]
|
||||
}]
|
||||
}]
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"filetype": "insert",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"thread_count": 10,
|
||||
"thread_count_create_tbl": 10,
|
||||
"result_file": "./insert_res.txt",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"insert_interval": 0,
|
||||
"interlace_rows": 100,
|
||||
"num_of_records_per_req": 1000,
|
||||
"max_sql_len": 1024000,
|
||||
"databases": [{
|
||||
"dbinfo": {
|
||||
"name": "nsdbcsv",
|
||||
"drop": "yes",
|
||||
"replica": 1,
|
||||
"days": 10,
|
||||
"cache": 50,
|
||||
"blocks": 8,
|
||||
"precision": "ns",
|
||||
"keep": 3600,
|
||||
"minRows": 100,
|
||||
"maxRows": 4096,
|
||||
"comp":2,
|
||||
"walLevel":1,
|
||||
"cachelast":0,
|
||||
"quorum":1,
|
||||
"fsync":3000,
|
||||
"update": 0
|
||||
},
|
||||
"super_tables": [{
|
||||
"name": "stb0",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb0_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "samples",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 0,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10000000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "csv",
|
||||
"sample_file": "./tools/taosdemoAllTest/NanoTestCase/nano_samples.csv",
|
||||
"tags_file": "./tools/taosdemoAllTest/NanoTestCase/nano_sampletags.csv",
|
||||
"columns": [{"type": "DOUBLE"}, {"type": "BINARY", "len": 64, "count":1}, {"type": "TIMESTAMP", "count":1}],
|
||||
"tags": [{"type": "BINARY", "len": 16, "count":1},{"type": "INT"},{"type": "DOUBLE"}]
|
||||
},
|
||||
{
|
||||
"name": "stb1",
|
||||
"child_table_exists":"no",
|
||||
"childtable_count": 100,
|
||||
"childtable_prefix": "tb1_",
|
||||
"auto_create_table": "no",
|
||||
"batch_create_tbl_num": 20,
|
||||
"data_source": "samples",
|
||||
"insert_mode": "taosc",
|
||||
"insert_rows": 100,
|
||||
"childtable_offset":0,
|
||||
"multi_thread_write_one_tbl": "no",
|
||||
"insert_interval":0,
|
||||
"max_sql_len": 1024000,
|
||||
"disorder_ratio": 10,
|
||||
"disorder_range": 1000,
|
||||
"timestamp_step": 10000000,
|
||||
"start_timestamp": "2021-07-01 00:00:00.000",
|
||||
"sample_format": "csv",
|
||||
"sample_file": "./tools/taosdemoAllTest/NanoTestCase/nano_samples.csv",
|
||||
"tags_file": "./tools/taosdemoAllTest/NanoTestCase/nano_sampletags.csv",
|
||||
"columns": [{"type": "DOUBLE"}, {"type": "BINARY", "len": 64, "count":1}, {"type": "TIMESTAMP", "count":1}],
|
||||
"tags": [{"type": "BINARY", "len": 16, "count":1},{"type": "INT"},{"type": "DOUBLE"}]
|
||||
}]
|
||||
}]
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
###################################################################
|
||||
# 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)
|
||||
|
||||
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):
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosd not found!")
|
||||
else:
|
||||
tdLog.info("taosd found in %s" % buildPath)
|
||||
binPath = buildPath+ "/build/bin/"
|
||||
|
||||
|
||||
# insert: create one or mutiple tables per sql and insert multiple rows per sql
|
||||
# insert data from a special timestamp
|
||||
# check stable stb0
|
||||
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestNanoDatabase.json -y " % binPath)
|
||||
tdSql.execute("use nsdb")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count (tbname) from stb0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from tb0_0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.checkDataType(9, 1,"TIMESTAMP")
|
||||
tdSql.query("select last(ts) from stb0")
|
||||
tdSql.checkData(0, 0,"2021-07-01 00:00:00.990000000")
|
||||
|
||||
# check stable stb1 which is insert with disord
|
||||
|
||||
tdSql.query("select count (tbname) from stb1")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from tb1_0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from stb1")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
# check c8 is an nano timestamp
|
||||
tdSql.query("describe stb1")
|
||||
tdSql.checkDataType(9, 1,"TIMESTAMP")
|
||||
# check insert timestamp_step is nano_second
|
||||
tdSql.query("select last(ts) from stb1")
|
||||
tdSql.checkData(0, 0,"2021-07-01 00:00:00.990000000")
|
||||
|
||||
# insert data from now time
|
||||
|
||||
# check stable stb0
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestNanoDatabaseNow.json -y " % binPath)
|
||||
|
||||
tdSql.execute("use nsdb2")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count (tbname) from stb0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from tb0_0")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
# check c8 is an nano timestamp
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.checkDataType(9,1,"TIMESTAMP")
|
||||
|
||||
# insert by csv files and timetamp is long int , strings in ts and cols
|
||||
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestNanoDatabasecsv.json -y " % binPath)
|
||||
tdSql.execute("use nsdbcsv")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.checkDataType(3, 1, "TIMESTAMP")
|
||||
tdSql.query("select count(*) from stb0 where ts > \"2021-07-01 00:00:00.490000000\"")
|
||||
tdSql.checkData(0, 0, 5000)
|
||||
tdSql.query("select count(*) from stb0 where ts < 1626918583000000000")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
|
||||
os.system("rm -rf ./insert_res.txt")
|
||||
os.system("rm -rf tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNano*.py.sql")
|
||||
|
||||
# taosdemo test insert with command and parameter , detals show taosdemo --help
|
||||
os.system("%staosdemo -u root -P taosdata -p 6030 -a 1 -m pre -n 10 -T 20 -t 60 -o res.txt -y " % binPath)
|
||||
tdSql.query("select count(*) from test.meters")
|
||||
tdSql.checkData(0, 0, 600)
|
||||
# check taosdemo -s
|
||||
|
||||
sqls_ls = ['drop database if exists nsdbsql;','create database nsdbsql precision "ns" keep 3600 days 6 update 1;',
|
||||
'use nsdbsql;','CREATE STABLE meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupdId int);',
|
||||
'CREATE TABLE d1001 USING meters TAGS ("Beijing.Chaoyang", 2);',
|
||||
'INSERT INTO d1001 USING METERS TAGS ("Beijng.Chaoyang", 2) VALUES (now, 10.2, 219, 0.32);',
|
||||
'INSERT INTO d1001 USING METERS TAGS ("Beijng.Chaoyang", 2) VALUES (now, 85, 32, 0.76);']
|
||||
|
||||
with open("./taosdemoTestNanoCreateDB.sql",mode ="a" ) as sql_files:
|
||||
for sql in sqls_ls:
|
||||
sql_files.write(sql+"\n")
|
||||
sql_files.close()
|
||||
|
||||
sleep(10)
|
||||
|
||||
os.system("%staosdemo -s taosdemoTestNanoCreateDB.sql -y " % binPath)
|
||||
tdSql.query("select count(*) from nsdbsql.meters")
|
||||
tdSql.checkData(0, 0, 2)
|
||||
|
||||
os.system("rm -rf ./res.txt")
|
||||
os.system("rm -rf ./*.py.sql")
|
||||
os.system("rm -rf ./taosdemoTestNanoCreateDB.sql")
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"filetype": "query",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"databases": "nsdb",
|
||||
"query_times": 10,
|
||||
"query_mode": "taosc",
|
||||
"specified_table_query": {
|
||||
"query_interval": 1,
|
||||
"concurrent": 2,
|
||||
"sqls": [
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts>\"2021-07-01 00:01:00.000000000 \" ;",
|
||||
"result": "./query_res0.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts>\"2021-07-01 00:01:00.000000000\" and ts <=\"2021-07-01 00:01:10.000000000\" ;",
|
||||
"result": "./query_res1.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts>now-20d ;",
|
||||
"result": "./query_res2.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select max(c10) from stb0;",
|
||||
"result": "./query_res3.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select min(c1) from stb0;",
|
||||
"result": "./query_res4.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select avg(c1) from stb0;",
|
||||
"result": "./query_res5.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select count(*) from stb0 group by tbname;",
|
||||
"result":"./query_res6.txt"
|
||||
}
|
||||
|
||||
]
|
||||
},
|
||||
"super_table_query": {
|
||||
"stblname": "stb0",
|
||||
"query_interval": 0,
|
||||
"threads": 4,
|
||||
"sqls": [
|
||||
{
|
||||
"sql": "select count(*) from xxxx where ts>\"2021-07-01 00:01:00.000000000 \" ;",
|
||||
"result": "./query_res_tb0.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select count(*) from xxxx where ts>\"2021-07-01 00:01:00.000000000\" and ts <=\"2021-07-01 00:01:10.000000000\" ;",
|
||||
"result": "./query_res_tb1.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select first(*) from xxxx ;",
|
||||
"result": "./query_res_tb2.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select last(*) from xxxx;",
|
||||
"result": "./query_res_tb3.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select last_row(*) from xxxx ;",
|
||||
"result": "./query_res_tb4.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select max(c10) from xxxx ;",
|
||||
"result": "./query_res_tb5.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select min(c1) from xxxx ;",
|
||||
"result": "./query_res_tb6.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select avg(c10) from xxxx ;",
|
||||
"result": "./query_res_tb7.txt"
|
||||
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,157 @@
|
|||
###################################################################
|
||||
# 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)
|
||||
|
||||
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):
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosd not found!")
|
||||
else:
|
||||
tdLog.info("taosd found in %s" % buildPath)
|
||||
binPath = buildPath+ "/build/bin/"
|
||||
|
||||
# query: query test for nanoSecond with where and max min groupby order
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestNanoDatabase.json -y " % binPath)
|
||||
|
||||
tdSql.execute("use nsdb")
|
||||
|
||||
# use where to filter
|
||||
|
||||
tdSql.query("select count(*) from stb0 where ts>\"2021-07-01 00:00:00.590000000 \" ")
|
||||
tdSql.checkData(0, 0, 4000)
|
||||
tdSql.query("select count(*) from stb0 where ts>\"2021-07-01 00:00:00.000000000\" and ts <=\"2021-07-01 00:00:00.590000000\" ")
|
||||
tdSql.checkData(0, 0, 5900)
|
||||
|
||||
tdSql.query("select count(*) from tb0_0 where ts>\"2021-07-01 00:00:00.590000000 \" ;")
|
||||
tdSql.checkData(0, 0, 40)
|
||||
tdSql.query("select count(*) from tb0_0 where ts>\"2021-07-01 00:00:00.000000000\" and ts <=\"2021-07-01 00:00:00.590000000\" ")
|
||||
tdSql.checkData(0, 0, 59)
|
||||
|
||||
|
||||
# select max min avg from special col
|
||||
tdSql.query("select max(c10) from stb0;")
|
||||
print("select max(c10) from stb0 : " , tdSql.getData(0, 0))
|
||||
|
||||
tdSql.query("select max(c10) from tb0_0;")
|
||||
print("select max(c10) from tb0_0 : " , tdSql.getData(0, 0))
|
||||
|
||||
|
||||
tdSql.query("select min(c1) from stb0;")
|
||||
print( "select min(c1) from stb0 : " , tdSql.getData(0, 0))
|
||||
|
||||
tdSql.query("select min(c1) from tb0_0;")
|
||||
print( "select min(c1) from tb0_0 : " , tdSql.getData(0, 0))
|
||||
|
||||
tdSql.query("select avg(c1) from stb0;")
|
||||
print( "select avg(c1) from stb0 : " , tdSql.getData(0, 0))
|
||||
|
||||
tdSql.query("select avg(c1) from tb0_0;")
|
||||
print( "select avg(c1) from tb0_0 : " , tdSql.getData(0, 0))
|
||||
|
||||
tdSql.query("select count(*) from stb0 group by tbname;")
|
||||
tdSql.checkData(0, 0, 100)
|
||||
tdSql.checkData(10, 0, 100)
|
||||
|
||||
# query : query above sqls by taosdemo and continuously
|
||||
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanoQuery.json -y " % binPath)
|
||||
|
||||
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestNanoDatabasecsv.json -y " % binPath)
|
||||
tdSql.execute("use nsdbcsv")
|
||||
tdSql.query("show stables")
|
||||
tdSql.checkData(0, 4, 100)
|
||||
tdSql.query("select count(*) from stb0")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("describe stb0")
|
||||
tdSql.checkDataType(3, 1, "TIMESTAMP")
|
||||
tdSql.query("select count(*) from stb0 where ts >\"2021-07-01 00:00:00.490000000\"")
|
||||
tdSql.checkData(0, 0, 5000)
|
||||
tdSql.query("select count(*) from stb0 where ts <now -1d-1h-3s")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.query("select count(*) from stb0 where ts < 1626918583000000000")
|
||||
tdSql.checkData(0, 0, 10000)
|
||||
tdSql.execute('select count(*) from stb0 where c2 > 162687012800000000')
|
||||
tdSql.execute('select count(*) from stb0 where c2 < 162687012800000000')
|
||||
tdSql.execute('select count(*) from stb0 where c2 = 162687012800000000')
|
||||
tdSql.execute('select count(*) from stb0 where c2 != 162687012800000000')
|
||||
tdSql.execute('select count(*) from stb0 where c2 <> 162687012800000000')
|
||||
tdSql.execute('select count(*) from stb0 where c2 > "2021-07-21 20:22:08.248246976"')
|
||||
tdSql.execute('select count(*) from stb0 where c2 < "2021-07-21 20:22:08.248246976"')
|
||||
tdSql.execute('select count(*) from stb0 where c2 = "2021-07-21 20:22:08.248246976"')
|
||||
tdSql.execute('select count(*) from stb0 where c2 != "2021-07-21 20:22:08.248246976"')
|
||||
tdSql.execute('select count(*) from stb0 where c2 <> "2021-07-21 20:22:08.248246976"')
|
||||
tdSql.execute('select count(*) from stb0 where ts between "2021-07-01 00:00:00.000000000" and "2021-07-01 00:00:00.990000000"')
|
||||
tdSql.execute('select count(*) from stb0 where ts between 1625068800000000000 and 1625068801000000000')
|
||||
tdSql.query('select avg(c0) from stb0 interval(5000000000b)')
|
||||
tdSql.checkRows(1)
|
||||
|
||||
tdSql.query('select avg(c0) from stb0 interval(100000000b)')
|
||||
tdSql.checkRows(10)
|
||||
|
||||
tdSql.error('select avg(c0) from stb0 interval(1b)')
|
||||
tdSql.error('select avg(c0) from stb0 interval(999b)')
|
||||
|
||||
tdSql.query('select avg(c0) from stb0 interval(1000b)')
|
||||
tdSql.checkRows(100)
|
||||
|
||||
tdSql.query('select avg(c0) from stb0 interval(1u)')
|
||||
tdSql.checkRows(100)
|
||||
|
||||
tdSql.query('select avg(c0) from stb0 interval(100000000b) sliding (100000000b)')
|
||||
tdSql.checkRows(10)
|
||||
|
||||
# query : query above sqls by taosdemo and continuously
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanoQuerycsv.json -y " % binPath)
|
||||
|
||||
os.system("rm -rf ./query_res*.txt*")
|
||||
os.system("rm -rf tools/taosdemoAllTest/NanoTestCase/*.py.sql")
|
||||
|
||||
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,110 @@
|
|||
{
|
||||
"filetype": "query",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"databases": "nsdbcsv",
|
||||
"query_times": 10,
|
||||
"query_mode": "taosc",
|
||||
"specified_table_query": {
|
||||
"query_interval": 1,
|
||||
"concurrent": 2,
|
||||
"sqls": [
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts> \"2021-07-01 00:00:00.490000000\" ;",
|
||||
"result": "./query_res0.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts < now -22d-1h-3s ;",
|
||||
"result": "./query_res1.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts < 1626918583000000000 ;",
|
||||
"result": "./query_res2.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where c2 <> 162687012800000000;",
|
||||
"result": "./query_res3.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where c2 != \"2021-07-21 20:22:08.248246976\";",
|
||||
"result": "./query_res4.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select count(*) from stb0 where ts between \"2021-07-01 00:00:00.000000000\" and \"2021-07-01 00:00:00.990000000\";",
|
||||
"result": "./query_res5.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select count(*) from stb0 group by tbname;",
|
||||
"result":"./query_res6.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select count(*) from stb0 where ts between 1625068800000000000 and 1625068801000000000;",
|
||||
"result":"./query_res7.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select avg(c0) from stb0 interval(5000000000b);",
|
||||
"result":"./query_res8.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select avg(c0) from stb0 interval(100000000b) sliding (100000000b);",
|
||||
"result":"./query_res9.txt"
|
||||
}
|
||||
|
||||
]
|
||||
},
|
||||
"super_table_query": {
|
||||
"stblname": "stb0",
|
||||
"query_interval": 0,
|
||||
"threads": 4,
|
||||
"sqls": [
|
||||
{
|
||||
"sql": "select count(*) from xxxx where ts > \"2021-07-01 00:00:00.490000000\" ;",
|
||||
"result": "./query_res_tb0.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select count(*) from xxxx where ts between \"2021-07-01 00:00:00.000000000\" and \"2021-07-01 00:00:00.990000000\" ;",
|
||||
"result": "./query_res_tb1.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select first(*) from xxxx ;",
|
||||
"result": "./query_res_tb2.txt"
|
||||
},
|
||||
{
|
||||
"sql":"select last(*) from xxxx;",
|
||||
"result": "./query_res_tb3.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select last_row(*) from xxxx ;",
|
||||
"result": "./query_res_tb4.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select max(c0) from xxxx ;",
|
||||
"result": "./query_res_tb5.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select min(c0) from xxxx ;",
|
||||
"result": "./query_res_tb6.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select avg(c0) from xxxx ;",
|
||||
"result": "./query_res_tb7.txt"
|
||||
|
||||
},
|
||||
{
|
||||
"sql":"select avg(c0) from xxxx interval(100000000b) sliding (100000000b) ;",
|
||||
"result": "./query_res_tb8.txt"
|
||||
|
||||
}
|
||||
|
||||
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
"filetype":"subscribe",
|
||||
"cfgdir": "/etc/taos",
|
||||
"host": "127.0.0.1",
|
||||
"port": 6030,
|
||||
"user": "root",
|
||||
"password": "taosdata",
|
||||
"databases": "subnsdb",
|
||||
"confirm_parameter_prompt": "no",
|
||||
"specified_table_query":
|
||||
{
|
||||
"concurrent":2,
|
||||
"mode":"sync",
|
||||
"interval":10000,
|
||||
"restart":"yes",
|
||||
"keepProgress":"yes",
|
||||
"sqls": [
|
||||
{
|
||||
"sql": "select * from stb0 where ts>= \"2021-07-01 00:00:00.000000000\" ;",
|
||||
"result": "./subscribe_res0.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select * from stb0 where ts < now -2d-1h-3s ;",
|
||||
"result": "./subscribe_res1.txt"
|
||||
},
|
||||
{
|
||||
"sql": "select * from stb0 where ts < 1626918583000000000 ;",
|
||||
"result": "./subscribe_res2.txt"
|
||||
}]
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
###################################################################
|
||||
# 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 time
|
||||
from datetime import datetime
|
||||
import subprocess
|
||||
|
||||
|
||||
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
|
||||
|
||||
# get the number of subscriptions
|
||||
def subTimes(self,filename):
|
||||
self.filename = filename
|
||||
command = 'cat %s |wc -l'% filename
|
||||
times = int(subprocess.getstatusoutput(command)[1])
|
||||
return times
|
||||
|
||||
# assert results
|
||||
def assertCheck(self,filename,subResult,expectResult):
|
||||
self.filename = filename
|
||||
self.subResult = subResult
|
||||
self.expectResult = expectResult
|
||||
args0 = (filename, subResult, expectResult)
|
||||
assert subResult == expectResult , "Queryfile:%s ,result is %s != expect: %s" % args0
|
||||
|
||||
def run(self):
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosd not found!")
|
||||
else:
|
||||
tdLog.info("taosd found in %s" % buildPath)
|
||||
binPath = buildPath+ "/build/bin/"
|
||||
|
||||
# clear env
|
||||
os.system("ps -ef |grep 'taosdemoAllTest/taosdemoTestSupportNanoSubscribe.json' |grep -v 'grep' |awk '{print $2}'|xargs kill -9")
|
||||
os.system("rm -rf ./subscribe_res*")
|
||||
os.system("rm -rf ./all_subscribe_res*")
|
||||
|
||||
|
||||
# insert data
|
||||
os.system("%staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestNanoDatabaseInsertForSub.json" % binPath)
|
||||
os.system("nohup %staosdemo -f tools/taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanoSubscribe.json &" % binPath)
|
||||
query_pid = int(subprocess.getstatusoutput('ps aux|grep "taosdemoAllTest/NanoTestCase/taosdemoTestSupportNanoSubscribe.json" |grep -v "grep"|awk \'{print $2}\'')[1])
|
||||
|
||||
|
||||
# merge result files
|
||||
sleep(5)
|
||||
os.system("cat subscribe_res0.txt* > all_subscribe_res0.txt")
|
||||
os.system("cat subscribe_res1.txt* > all_subscribe_res1.txt")
|
||||
os.system("cat subscribe_res2.txt* > all_subscribe_res2.txt")
|
||||
|
||||
|
||||
# correct subscribeTimes testcase
|
||||
subTimes0 = self.subTimes("all_subscribe_res0.txt")
|
||||
self.assertCheck("all_subscribe_res0.txt",subTimes0 ,200)
|
||||
|
||||
subTimes1 = self.subTimes("all_subscribe_res1.txt")
|
||||
self.assertCheck("all_subscribe_res1.txt",subTimes1 ,200)
|
||||
|
||||
subTimes2 = self.subTimes("all_subscribe_res2.txt")
|
||||
self.assertCheck("all_subscribe_res2.txt",subTimes2 ,200)
|
||||
|
||||
|
||||
# insert extral data
|
||||
tdSql.execute("use subnsdb")
|
||||
tdSql.execute("insert into tb0_0 values(now,100.1000,'subtest1',now-1s)")
|
||||
sleep(15)
|
||||
|
||||
os.system("cat subscribe_res0.txt* > all_subscribe_res0.txt")
|
||||
subTimes0 = self.subTimes("all_subscribe_res0.txt")
|
||||
print("pass")
|
||||
self.assertCheck("all_subscribe_res0.txt",subTimes0 ,202)
|
||||
|
||||
|
||||
|
||||
# correct data testcase
|
||||
os.system("kill -9 %d" % query_pid)
|
||||
sleep(3)
|
||||
os.system("rm -rf ./subscribe_res*")
|
||||
os.system("rm -rf ./all_subscribe*")
|
||||
os.system("rm -rf ./*.py.sql")
|
||||
|
||||
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
|
@ -0,0 +1,362 @@
|
|||
###################################################################
|
||||
# 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 = 1625068800000000000 # this is timestamp "2021-07-01 00:00:00"
|
||||
self.numberOfTables = 10
|
||||
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 createdb(self, precision="ns"):
|
||||
tb_nums = self.numberOfTables
|
||||
per_tb_rows = self.numberOfRecords
|
||||
|
||||
def build_db(precision, start_time):
|
||||
tdSql.execute("drop database if exists timedb1")
|
||||
tdSql.execute(
|
||||
"create database timedb1 days 10 keep 365 blocks 8 precision "+"\""+precision+"\"")
|
||||
|
||||
tdSql.execute("use timedb1")
|
||||
tdSql.execute(
|
||||
"create stable st(ts timestamp, c1 int, c2 nchar(10),c3 timestamp) tags(t1 int, t2 binary(10))")
|
||||
for tb in range(tb_nums):
|
||||
tbname = "t"+str(tb)
|
||||
tdSql.execute("create table " + tbname +
|
||||
" using st tags(1, 'beijing')")
|
||||
sql = "insert into " + tbname + " values"
|
||||
currts = start_time
|
||||
if precision == "ns":
|
||||
ts_seed = 1000000000
|
||||
elif precision == "us":
|
||||
ts_seed = 1000000
|
||||
else:
|
||||
ts_seed = 1000
|
||||
|
||||
for i in range(per_tb_rows):
|
||||
sql += "(%d, %d, 'nchar%d',%d)" % (currts + i*ts_seed, i %
|
||||
100, i % 100, currts + i*100) # currts +1000ms (1000000000ns)
|
||||
tdSql.execute(sql)
|
||||
|
||||
if precision == "ns":
|
||||
start_time = 1625068800000000000
|
||||
build_db(precision, start_time)
|
||||
|
||||
elif precision == "us":
|
||||
start_time = 1625068800000000
|
||||
build_db(precision, start_time)
|
||||
|
||||
elif precision == "ms":
|
||||
start_time = 1625068800000
|
||||
build_db(precision, start_time)
|
||||
|
||||
else:
|
||||
print("other time precision not valid , please check! ")
|
||||
|
||||
|
||||
def run(self):
|
||||
|
||||
# clear envs
|
||||
os.system("rm -rf ./taosdumptest/")
|
||||
tdSql.execute("drop database if exists dumptmp1")
|
||||
tdSql.execute("drop database if exists dumptmp2")
|
||||
tdSql.execute("drop database if exists dumptmp3")
|
||||
|
||||
if not os.path.exists("./taosdumptest/tmp1"):
|
||||
os.makedirs("./taosdumptest/dumptmp1")
|
||||
else:
|
||||
print("path exist!")
|
||||
|
||||
if not os.path.exists("./taosdumptest/dumptmp2"):
|
||||
os.makedirs("./taosdumptest/dumptmp2")
|
||||
|
||||
if not os.path.exists("./taosdumptest/dumptmp3"):
|
||||
os.makedirs("./taosdumptest/dumptmp3")
|
||||
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosdump not found!")
|
||||
else:
|
||||
tdLog.info("taosdump found in %s" % buildPath)
|
||||
binPath = buildPath + "/build/bin/"
|
||||
|
||||
# create nano second database
|
||||
|
||||
self.createdb(precision="ns")
|
||||
|
||||
# dump all data
|
||||
|
||||
os.system(
|
||||
"%staosdump --databases timedb1 -o ./taosdumptest/dumptmp1" % binPath)
|
||||
|
||||
# dump part data with -S -E
|
||||
os.system(
|
||||
'%staosdump --databases timedb1 -S 1625068810000000000 -E 1625068860000000000 -C ns -o ./taosdumptest/dumptmp2 ' %
|
||||
binPath)
|
||||
os.system(
|
||||
'%staosdump --databases timedb1 -S 1625068810000000000 -o ./taosdumptest/dumptmp3 ' %
|
||||
binPath)
|
||||
|
||||
# replace strings to dump in databases
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp1/g\" `grep timedb1 -rl ./taosdumptest/dumptmp1`")
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp2/g\" `grep timedb1 -rl ./taosdumptest/dumptmp2`")
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp3/g\" `grep timedb1 -rl ./taosdumptest/dumptmp3`")
|
||||
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp1" %binPath)
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp2" %binPath)
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp3" %binPath)
|
||||
|
||||
# dump data and check for taosdump
|
||||
tdSql.query("select count(*) from dumptmp1.st")
|
||||
tdSql.checkData(0,0,1000)
|
||||
|
||||
tdSql.query("select count(*) from dumptmp2.st")
|
||||
tdSql.checkData(0,0,510)
|
||||
|
||||
tdSql.query("select count(*) from dumptmp3.st")
|
||||
tdSql.checkData(0,0,900)
|
||||
|
||||
# check data
|
||||
origin_res = tdSql.getResult("select * from timedb1.st")
|
||||
dump_res = tdSql.getResult("select * from dumptmp1.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info("test nano second : dump check data pass for all data!" )
|
||||
else:
|
||||
tdLog.info("test nano second : dump check data failed for all data!" )
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000000 and ts <= 1625068860000000000")
|
||||
dump_res = tdSql.getResult("select * from dumptmp2.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info(" test nano second : dump check data pass for data! " )
|
||||
else:
|
||||
tdLog.info(" test nano second : dump check data failed for data !" )
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000000 ")
|
||||
dump_res = tdSql.getResult("select * from dumptmp3.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info(" test nano second : dump check data pass for data! " )
|
||||
else:
|
||||
tdLog.info(" test nano second : dump check data failed for data !" )
|
||||
|
||||
|
||||
# us second support test case
|
||||
|
||||
os.system("rm -rf ./taosdumptest/")
|
||||
tdSql.execute("drop database if exists dumptmp1")
|
||||
tdSql.execute("drop database if exists dumptmp2")
|
||||
tdSql.execute("drop database if exists dumptmp3")
|
||||
|
||||
if not os.path.exists("./taosdumptest/tmp1"):
|
||||
os.makedirs("./taosdumptest/dumptmp1")
|
||||
else:
|
||||
print("path exits!")
|
||||
|
||||
if not os.path.exists("./taosdumptest/dumptmp2"):
|
||||
os.makedirs("./taosdumptest/dumptmp2")
|
||||
|
||||
if not os.path.exists("./taosdumptest/dumptmp3"):
|
||||
os.makedirs("./taosdumptest/dumptmp3")
|
||||
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosdump not found!")
|
||||
else:
|
||||
tdLog.info("taosdump found in %s" % buildPath)
|
||||
binPath = buildPath + "/build/bin/"
|
||||
|
||||
self.createdb(precision="us")
|
||||
|
||||
os.system(
|
||||
"%staosdump --databases timedb1 -o ./taosdumptest/dumptmp1" % binPath)
|
||||
|
||||
os.system(
|
||||
'%staosdump --databases timedb1 -S 1625068810000000 -E 1625068860000000 -C us -o ./taosdumptest/dumptmp2 ' %
|
||||
binPath)
|
||||
os.system(
|
||||
'%staosdump --databases timedb1 -S 1625068810000000 -o ./taosdumptest/dumptmp3 ' %
|
||||
binPath)
|
||||
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp1/g\" `grep timedb1 -rl ./taosdumptest/dumptmp1`")
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp2/g\" `grep timedb1 -rl ./taosdumptest/dumptmp2`")
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp3/g\" `grep timedb1 -rl ./taosdumptest/dumptmp3`")
|
||||
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp1" %binPath)
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp2" %binPath)
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp3" %binPath)
|
||||
|
||||
|
||||
tdSql.query("select count(*) from dumptmp1.st")
|
||||
tdSql.checkData(0,0,1000)
|
||||
|
||||
tdSql.query("select count(*) from dumptmp2.st")
|
||||
tdSql.checkData(0,0,510)
|
||||
|
||||
tdSql.query("select count(*) from dumptmp3.st")
|
||||
tdSql.checkData(0,0,900)
|
||||
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st")
|
||||
dump_res = tdSql.getResult("select * from dumptmp1.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info("test us second : dump check data pass for all data!" )
|
||||
else:
|
||||
tdLog.info("test us second : dump check data failed for all data!" )
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000 and ts <= 1625068860000000")
|
||||
dump_res = tdSql.getResult("select * from dumptmp2.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info(" test us second : dump check data pass for data! " )
|
||||
else:
|
||||
tdLog.info(" test us second : dump check data failed for data!" )
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000000 ")
|
||||
dump_res = tdSql.getResult("select * from dumptmp3.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info(" test us second : dump check data pass for data! " )
|
||||
else:
|
||||
tdLog.info(" test us second : dump check data failed for data! " )
|
||||
|
||||
|
||||
# ms second support test case
|
||||
|
||||
os.system("rm -rf ./taosdumptest/")
|
||||
tdSql.execute("drop database if exists dumptmp1")
|
||||
tdSql.execute("drop database if exists dumptmp2")
|
||||
tdSql.execute("drop database if exists dumptmp3")
|
||||
|
||||
if not os.path.exists("./taosdumptest/tmp1"):
|
||||
os.makedirs("./taosdumptest/dumptmp1")
|
||||
else:
|
||||
print("path exits!")
|
||||
|
||||
if not os.path.exists("./taosdumptest/dumptmp2"):
|
||||
os.makedirs("./taosdumptest/dumptmp2")
|
||||
|
||||
if not os.path.exists("./taosdumptest/dumptmp3"):
|
||||
os.makedirs("./taosdumptest/dumptmp3")
|
||||
|
||||
buildPath = self.getBuildPath()
|
||||
if (buildPath == ""):
|
||||
tdLog.exit("taosdump not found!")
|
||||
else:
|
||||
tdLog.info("taosdump found in %s" % buildPath)
|
||||
binPath = buildPath + "/build/bin/"
|
||||
|
||||
self.createdb(precision="ms")
|
||||
|
||||
os.system(
|
||||
"%staosdump --databases timedb1 -o ./taosdumptest/dumptmp1" % binPath)
|
||||
|
||||
os.system(
|
||||
'%staosdump --databases timedb1 -S 1625068810000 -E 1625068860000 -C ms -o ./taosdumptest/dumptmp2 ' %
|
||||
binPath)
|
||||
os.system(
|
||||
'%staosdump --databases timedb1 -S 1625068810000 -o ./taosdumptest/dumptmp3 ' %
|
||||
binPath)
|
||||
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp1/g\" `grep timedb1 -rl ./taosdumptest/dumptmp1`")
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp2/g\" `grep timedb1 -rl ./taosdumptest/dumptmp2`")
|
||||
os.system(
|
||||
"sed -i \"s/timedb1/dumptmp3/g\" `grep timedb1 -rl ./taosdumptest/dumptmp3`")
|
||||
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp1" %binPath)
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp2" %binPath)
|
||||
os.system( "%staosdump -i ./taosdumptest/dumptmp3" %binPath)
|
||||
|
||||
|
||||
tdSql.query("select count(*) from dumptmp1.st")
|
||||
tdSql.checkData(0,0,1000)
|
||||
|
||||
tdSql.query("select count(*) from dumptmp2.st")
|
||||
tdSql.checkData(0,0,510)
|
||||
|
||||
tdSql.query("select count(*) from dumptmp3.st")
|
||||
tdSql.checkData(0,0,900)
|
||||
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st")
|
||||
dump_res = tdSql.getResult("select * from dumptmp1.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info("test ms second : dump check data pass for all data!" )
|
||||
else:
|
||||
tdLog.info("test ms second : dump check data failed for all data!" )
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000 and ts <= 1625068860000")
|
||||
dump_res = tdSql.getResult("select * from dumptmp2.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info(" test ms second : dump check data pass for data! " )
|
||||
else:
|
||||
tdLog.info(" test ms second : dump check data failed for data!" )
|
||||
|
||||
origin_res = tdSql.getResult("select * from timedb1.st where ts >=1625068810000 ")
|
||||
dump_res = tdSql.getResult("select * from dumptmp3.st")
|
||||
if origin_res == dump_res:
|
||||
tdLog.info(" test ms second : dump check data pass for data! " )
|
||||
else:
|
||||
tdLog.info(" test ms second : dump check data failed for data! " )
|
||||
|
||||
|
||||
os.system("rm -rf ./taosdumptest/")
|
||||
os.system("rm -rf ./dump_result.txt")
|
||||
os.system("rm -rf *.py.sql")
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
||||
|
||||
tdCases.addWindows(__file__, TDTestCase())
|
||||
tdCases.addLinux(__file__, TDTestCase())
|
Loading…
Reference in New Issue