提交 eeb57d88 编写于 作者: J jiacy-jcy

update test case for update

上级 c45f6c4b
......@@ -26,8 +26,8 @@ class TDTestCase:
self.ntbname = 'ntb'
self.stbname = 'stb'
self.ts = 1537146000000
self.binary_length = 20
self.nchar_length = 20
self.str_length = 20
self.column_dict = {
'col1': 'tinyint',
'col2': 'smallint',
......@@ -40,8 +40,8 @@ class TDTestCase:
'col9': 'float',
'col10': 'double',
'col11': 'bool',
'col12': f'binary({self.binary_length})',
'col13': f'nchar({self.nchar_length})',
'col12': f'binary({self.str_length})',
'col13': f'nchar({self.str_length})',
'col_ts' : 'timestamp'
}
self.tinyint = random.randint(constant.TINYINT_MIN,constant.TINYINT_MAX)
......@@ -55,8 +55,8 @@ class TDTestCase:
self.bool = random.randint(0,100)%2
self.float = random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX)
self.double = random.uniform(constant.DOUBLE_MIN*(1E-300),constant.DOUBLE_MAX*(1E-300))
self.binary = tdCom.getLongName(self.binary_length)
self.tnchar = tdCom.getLongName(self.nchar_length)
self.binary = tdCom.getLongName(self.str_length)
self.tnchar = tdCom.getLongName(self.str_length)
def insert_base_data(self,col_type,tbname,value=None):
if value == None:
if col_type.lower() == 'tinyint':
......@@ -112,8 +112,8 @@ class TDTestCase:
up_bool = random.randint(0,100)%2
up_float = random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX)
up_double = random.uniform(constant.DOUBLE_MIN*(1E-300),constant.DOUBLE_MAX*(1E-300))
binary_length = random.randint(0,self.binary_length)
nchar_length = random.randint(0,self.binary_length)
binary_length = random.randint(0,self.str_length)
nchar_length = random.randint(0,self.str_length)
up_binary = tdCom.getLongName(binary_length)
up_nchar = tdCom.getLongName(nchar_length)
tdSql.execute(f'drop database if exists {self.dbname}')
......@@ -163,22 +163,49 @@ class TDTestCase:
tdSql.execute(f'drop database if exists {self.dbname}')
tdSql.execute(f'create database {self.dbname}')
tdSql.execute(f'use {self.dbname}')
binary_length = self.binary_length+1
str_length = self.str_length+1
for col_name,col_type in self.column_dict.items():
tdSql.execute(f'create table {self.ntbname} (ts timestamp,{col_name} {col_type})')
self.insert_base_data(col_name,self.ntbname)
if col_type.lower() in ['tinyint','smallint','int','bigint','tinyint unsigned','smallint unsigned','int unsigned','bigint unsigned']:
for error_value in [random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.binary_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() in ['float','double']:
for error_value in [tdCom.getLongName(self.binary_length),True,False]:
if col_type.lower() == 'double':
for error_value in [tdCom.getLongName(self.str_length),True,False,random.uniform(constant.DOUBLE_MIN*1.01,constant.DOUBLE_MAX*1.01)]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
#!bug TD-17453
# elif col_type.lower() == 'float':
# for error_value in [tdCom.getLongName(self.str_length),True,False,random.uniform(constant.FLOAT_MIN*1.01,constant.FLOAT_MAX*1.01)]:
# tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif 'binary' in col_type.lower() or 'nchar' in col_type.lower():
for error_value in [tdCom.getLongName(binary_length)]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
for error_value in [tdCom.getLongName(str_length)]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},"{error_value}")')
elif col_type.lower() == 'bool':
for error_value in [tdCom.getLongName(self.binary_length)]:
for error_value in [tdCom.getLongName(self.str_length)]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'tinyint':
for error_value in [constant.TINYINT_MIN-1,constant.TINYINT_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'smallint':
for error_value in [constant.SMALLINT_MIN-1,constant.SMALLINT_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'int':
for error_value in [constant.INT_MIN-1,constant.INT_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'bigint':
for error_value in [constant.BIGINT_MIN-1,constant.BIGINT_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'tinyint unsigned':
for error_value in [constant.TINYINT_UN_MIN-1,constant.TINYINT_UN_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'smallint unsigned':
for error_value in [constant.SMALLINT_UN_MIN-1,constant.SMALLINT_UN_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'int unsigned':
for error_value in [constant.INT_UN_MIN-1,constant.INT_UN_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
elif col_type.lower() == 'bigint unsigned':
for error_value in [constant.BIGINT_UN_MIN-1,constant.BIGINT_UN_MAX+1,random.uniform(constant.FLOAT_MIN,constant.FLOAT_MAX),tdCom.getLongName(self.str_length),True,False]:
tdSql.error(f'insert into {self.ntbname} values({self.ts},{error_value})')
tdSql.execute(f'drop table {self.ntbname}')
def run(self):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册