add case
This commit is contained in:
parent
ed308c59cd
commit
6740dc1077
|
@ -0,0 +1,201 @@
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import List, Any, Tuple
|
||||||
|
from util.log import *
|
||||||
|
from util.sql import *
|
||||||
|
from util.cases import *
|
||||||
|
from util.dnodes import *
|
||||||
|
|
||||||
|
PRIMARY_COL = "ts"
|
||||||
|
|
||||||
|
INT_COL = "c_int"
|
||||||
|
BINT_COL = "c_bint"
|
||||||
|
SINT_COL = "c_sint"
|
||||||
|
TINT_COL = "c_tint"
|
||||||
|
FLOAT_COL = "c_float"
|
||||||
|
DOUBLE_COL = "c_double"
|
||||||
|
BOOL_COL = "c_bool"
|
||||||
|
TINT_UN_COL = "c_utint"
|
||||||
|
SINT_UN_COL = "c_usint"
|
||||||
|
BINT_UN_COL = "c_ubint"
|
||||||
|
INT_UN_COL = "c_uint"
|
||||||
|
BINARY_COL = "c_binary"
|
||||||
|
NCHAR_COL = "c_nchar"
|
||||||
|
TS_COL = "c_ts"
|
||||||
|
|
||||||
|
NUM_COL = [INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, ]
|
||||||
|
CHAR_COL = [BINARY_COL, NCHAR_COL, ]
|
||||||
|
BOOLEAN_COL = [BOOL_COL, ]
|
||||||
|
TS_TYPE_COL = [TS_COL, ]
|
||||||
|
|
||||||
|
INT_TAG = "t_int"
|
||||||
|
|
||||||
|
ALL_COL = [PRIMARY_COL, INT_COL, BINT_COL, SINT_COL, TINT_COL, FLOAT_COL, DOUBLE_COL, BINARY_COL, NCHAR_COL, BOOL_COL, TS_COL]
|
||||||
|
TAG_COL = [INT_TAG]
|
||||||
|
# insert data args:
|
||||||
|
TIME_STEP = 10000
|
||||||
|
NOW = int(datetime.datetime.timestamp(datetime.datetime.now()) * 1000)
|
||||||
|
|
||||||
|
# init db/table
|
||||||
|
DBNAME = "db"
|
||||||
|
STBNAME = f"{DBNAME}.stb1"
|
||||||
|
CTBNAME = f"{DBNAME}.ct1"
|
||||||
|
NTBNAME = f"{DBNAME}.nt1"
|
||||||
|
|
||||||
|
L0 = 0
|
||||||
|
L1 = 1
|
||||||
|
L2 = 2
|
||||||
|
|
||||||
|
PRIMARY_DIR = 1
|
||||||
|
NON_PRIMARY_DIR = 0
|
||||||
|
|
||||||
|
DATA_PRE0 = f"data0"
|
||||||
|
DATA_PRE1 = f"data1"
|
||||||
|
DATA_PRE2 = f"data2"
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class DataSet:
|
||||||
|
ts_data : List[int] = field(default_factory=list)
|
||||||
|
int_data : List[int] = field(default_factory=list)
|
||||||
|
bint_data : List[int] = field(default_factory=list)
|
||||||
|
sint_data : List[int] = field(default_factory=list)
|
||||||
|
tint_data : List[int] = field(default_factory=list)
|
||||||
|
int_un_data : List[int] = field(default_factory=list)
|
||||||
|
bint_un_data: List[int] = field(default_factory=list)
|
||||||
|
sint_un_data: List[int] = field(default_factory=list)
|
||||||
|
tint_un_data: List[int] = field(default_factory=list)
|
||||||
|
float_data : List[float] = field(default_factory=list)
|
||||||
|
double_data : List[float] = field(default_factory=list)
|
||||||
|
bool_data : List[int] = field(default_factory=list)
|
||||||
|
binary_data : List[str] = field(default_factory=list)
|
||||||
|
nchar_data : List[str] = field(default_factory=list)
|
||||||
|
|
||||||
|
|
||||||
|
class TDTestCase:
|
||||||
|
|
||||||
|
def init(self, conn, logSql):
|
||||||
|
tdLog.debug(f"start to excute {__file__}")
|
||||||
|
tdSql.init(conn.cursor(), False)
|
||||||
|
self.taos_cfg_path = tdDnodes.dnodes[0].cfgPath
|
||||||
|
self.taos_data_dir = tdDnodes.dnodes[0].dataDir
|
||||||
|
|
||||||
|
|
||||||
|
def cfg(self, filename, **update_dict):
|
||||||
|
self.del_old_datadir(filename)
|
||||||
|
cmd = "echo "
|
||||||
|
for k, v in update_dict.items():
|
||||||
|
cmd += f"{k} {v}\n"
|
||||||
|
|
||||||
|
cmd += f" >> {filename}"
|
||||||
|
if os.system(cmd) != 0:
|
||||||
|
tdLog.exit(cmd)
|
||||||
|
|
||||||
|
def cfg_str(self, filename, update_str):
|
||||||
|
self.del_old_datadir(filename)
|
||||||
|
cmd = f'echo "{update_str}" >> {filename}'
|
||||||
|
if os.system(cmd) != 0:
|
||||||
|
tdLog.exit(cmd)
|
||||||
|
|
||||||
|
def cfg_str_list(self, filename, update_list):
|
||||||
|
for update_str in update_list:
|
||||||
|
self.cfg_str(filename, update_str)
|
||||||
|
|
||||||
|
def del_old_datadir(self, filename):
|
||||||
|
cmd = f"sed -i '/^dataDir/d' {filename}"
|
||||||
|
if os.system(cmd) != 0:
|
||||||
|
tdLog.exit(cmd)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def __err_cfg(self):
|
||||||
|
cfg_list = []
|
||||||
|
err_case1 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 {L0} {NON_PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE1}1 {L1} {PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE2}2 {L2} {NON_PRIMARY_DIR}"
|
||||||
|
]
|
||||||
|
err_case2 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 {L0} {NON_PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE1}1 {L1} {NON_PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE2}2 {L2} {PRIMARY_DIR}"
|
||||||
|
]
|
||||||
|
err_case3 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/data33 3 {NON_PRIMARY_DIR}"
|
||||||
|
]
|
||||||
|
err_case4 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 {L0} {NON_PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE1}1 {L1} {NON_PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE2}2 {L2} {NON_PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE2}2 {L1} {NON_PRIMARY_DIR}"
|
||||||
|
]
|
||||||
|
err_case5 = []
|
||||||
|
for i in range(17):
|
||||||
|
err_case5.append(f"dataDir {self.taos_data_dir}/{DATA_PRE0}{i} {L0} {NON_PRIMARY_DIR}")
|
||||||
|
|
||||||
|
err_case6 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 {L0} {PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}1 {L0} {PRIMARY_DIR}",
|
||||||
|
]
|
||||||
|
err_case7 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 {L0} {PRIMARY_DIR}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE2}2 {L2} {PRIMARY_DIR}",
|
||||||
|
]
|
||||||
|
err_case8 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/data33 3 {PRIMARY_DIR}"
|
||||||
|
]
|
||||||
|
err_case9 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/data33 -1 {NON_PRIMARY_DIR}"
|
||||||
|
]
|
||||||
|
|
||||||
|
cfg_list.append(err_case1)
|
||||||
|
cfg_list.append(err_case2)
|
||||||
|
cfg_list.append(err_case3)
|
||||||
|
cfg_list.append(err_case4)
|
||||||
|
cfg_list.append(err_case5)
|
||||||
|
cfg_list.append(err_case6)
|
||||||
|
cfg_list.append(err_case7)
|
||||||
|
cfg_list.append(err_case8)
|
||||||
|
cfg_list.append(err_case9)
|
||||||
|
|
||||||
|
return cfg_list
|
||||||
|
|
||||||
|
@property
|
||||||
|
def __current_cfg(self):
|
||||||
|
cfg_list = []
|
||||||
|
current_case1 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 {L0} {PRIMARY_COL}",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}1 {L0} 0",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE1}1 {L1} 0",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE2}2 {L2} 0"
|
||||||
|
]
|
||||||
|
|
||||||
|
current_case2 = [
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 0 1",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}1 0 1",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 0 1",
|
||||||
|
f"dataDir {self.taos_data_dir}/{DATA_PRE0}0 0 1",
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
cfg_list.append(current_case1)
|
||||||
|
|
||||||
|
return cfg_list
|
||||||
|
|
||||||
|
def cfg_check(self):
|
||||||
|
for cfg_case in self.__err_cfg:
|
||||||
|
tdDnodes.stop(1)
|
||||||
|
self.cfg_str_list(filename=self.taos_cfg_path, update_list=cfg_case)
|
||||||
|
tdDnodes.start(1)
|
||||||
|
|
||||||
|
tdSql.error(f"show databases")
|
||||||
|
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
self.cfg_check()
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
tdSql.close()
|
||||||
|
tdLog.success(f"{__file__} successfully executed")
|
||||||
|
|
||||||
|
tdCases.addLinux(__file__, TDTestCase())
|
||||||
|
tdCases.addWindows(__file__, TDTestCase())
|
Loading…
Reference in New Issue