fix test cases

This commit is contained in:
Ganlin Zhao 2022-07-12 14:49:35 +08:00
parent d3afc76f6d
commit e9cd99c55a
1 changed files with 49 additions and 49 deletions

View File

@ -9,13 +9,13 @@ from util.cases import *
class TDTestCase: class TDTestCase:
updatecfgDict = {'debugFlag': 143 ,"cDebugFlag":143,"uDebugFlag":143 ,"rpcDebugFlag":143 , "tmrDebugFlag":143 , updatecfgDict = {'debugFlag': 143 ,"cDebugFlag":143,"uDebugFlag":143 ,"rpcDebugFlag":143 , "tmrDebugFlag":143 ,
"jniDebugFlag":143 ,"simDebugFlag":143,"dDebugFlag":143, "dDebugFlag":143,"vDebugFlag":143,"mDebugFlag":143,"qDebugFlag":143, "jniDebugFlag":143 ,"simDebugFlag":143,"dDebugFlag":143, "dDebugFlag":143,"vDebugFlag":143,"mDebugFlag":143,"qDebugFlag":143,
"wDebugFlag":143,"sDebugFlag":143,"tsdbDebugFlag":143,"tqDebugFlag":143 ,"fsDebugFlag":143 ,"udfDebugFlag":143} "wDebugFlag":143,"sDebugFlag":143,"tsdbDebugFlag":143,"tqDebugFlag":143 ,"fsDebugFlag":143 ,"udfDebugFlag":143}
def init(self, conn, powSql): def init(self, conn, powSql):
tdLog.debug(f"start to excute {__file__}") tdLog.debug(f"start to excute {__file__}")
tdSql.init(conn.cursor()) tdSql.init(conn.cursor())
def prepare_datas(self): def prepare_datas(self):
tdSql.execute( tdSql.execute(
'''create table stb1 '''create table stb1
@ -23,7 +23,7 @@ class TDTestCase:
tags (t1 int) tags (t1 int)
''' '''
) )
tdSql.execute( tdSql.execute(
''' '''
create table t1 create table t1
@ -65,14 +65,14 @@ class TDTestCase:
( '2023-02-21 01:01:01.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ) ( '2023-02-21 01:01:01.000', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL )
''' '''
) )
def check_result_auto_sqrt(self ,origin_query , pow_query): def check_result_auto_sqrt(self ,origin_query , pow_query):
pow_result = tdSql.getResult(pow_query) pow_result = tdSql.getResult(pow_query)
origin_result = tdSql.getResult(origin_query) origin_result = tdSql.getResult(origin_query)
auto_result =[] auto_result =[]
for row in origin_result: for row in origin_result:
row_check = [] row_check = []
for elem in row: for elem in row:
@ -92,7 +92,7 @@ class TDTestCase:
if auto_result[row_index][col_index] == None and not (auto_result[row_index][col_index] == None and elem == None): if auto_result[row_index][col_index] == None and not (auto_result[row_index][col_index] == None and elem == None):
check_status = False check_status = False
elif auto_result[row_index][col_index] != None and (auto_result[row_index][col_index] - elem > 0.00000001): elif auto_result[row_index][col_index] != None and (auto_result[row_index][col_index] - elem > 0.00000001):
check_status = False check_status = False
else: else:
pass pass
if not check_status: if not check_status:
@ -100,7 +100,7 @@ class TDTestCase:
sys.exit(1) sys.exit(1)
else: else:
tdLog.info("sqrt value check pass , it work as expected ,sql is \"%s\" "%pow_query ) tdLog.info("sqrt value check pass , it work as expected ,sql is \"%s\" "%pow_query )
def test_errors(self): def test_errors(self):
error_sql_lists = [ error_sql_lists = [
"select sqrt from t1", "select sqrt from t1",
@ -134,42 +134,42 @@ class TDTestCase:
] ]
for error_sql in error_sql_lists: for error_sql in error_sql_lists:
tdSql.error(error_sql) tdSql.error(error_sql)
def support_types(self): def support_types(self):
type_error_sql_lists = [ type_error_sql_lists = [
"select sqrt(ts) from t1" , "select sqrt(ts) from t1" ,
"select sqrt(c7) from t1", "select sqrt(c7) from t1",
"select sqrt(c8) from t1", "select sqrt(c8) from t1",
"select sqrt(c9) from t1", "select sqrt(c9) from t1",
"select sqrt(ts) from ct1" , "select sqrt(ts) from ct1" ,
"select sqrt(c7) from ct1", "select sqrt(c7) from ct1",
"select sqrt(c8) from ct1", "select sqrt(c8) from ct1",
"select sqrt(c9) from ct1", "select sqrt(c9) from ct1",
"select sqrt(ts) from ct3" , "select sqrt(ts) from ct3" ,
"select sqrt(c7) from ct3", "select sqrt(c7) from ct3",
"select sqrt(c8) from ct3", "select sqrt(c8) from ct3",
"select sqrt(c9) from ct3", "select sqrt(c9) from ct3",
"select sqrt(ts) from ct4" , "select sqrt(ts) from ct4" ,
"select sqrt(c7) from ct4", "select sqrt(c7) from ct4",
"select sqrt(c8) from ct4", "select sqrt(c8) from ct4",
"select sqrt(c9) from ct4", "select sqrt(c9) from ct4",
"select sqrt(ts) from stb1" , "select sqrt(ts) from stb1" ,
"select sqrt(c7) from stb1", "select sqrt(c7) from stb1",
"select sqrt(c8) from stb1", "select sqrt(c8) from stb1",
"select sqrt(c9) from stb1" , "select sqrt(c9) from stb1" ,
"select sqrt(ts) from stbbb1" , "select sqrt(ts) from stbbb1" ,
"select sqrt(c7) from stbbb1", "select sqrt(c7) from stbbb1",
"select sqrt(ts) from tbname", "select sqrt(ts) from tbname",
"select sqrt(c9) from tbname" "select sqrt(c9) from tbname"
] ]
for type_sql in type_error_sql_lists: for type_sql in type_error_sql_lists:
tdSql.error(type_sql) tdSql.error(type_sql)
type_sql_lists = [ type_sql_lists = [
"select sqrt(c1) from t1", "select sqrt(c1) from t1",
"select sqrt(c2) from t1", "select sqrt(c2) from t1",
@ -199,16 +199,16 @@ class TDTestCase:
"select sqrt(c5) from stb1", "select sqrt(c5) from stb1",
"select sqrt(c6) from stb1", "select sqrt(c6) from stb1",
"select sqrt(c6) as alisb from stb1", "select sqrt(c6) as alisb from stb1",
"select sqrt(c6) alisb from stb1", "select sqrt(c6) alisb from stb1",
] ]
for type_sql in type_sql_lists: for type_sql in type_sql_lists:
tdSql.query(type_sql) tdSql.query(type_sql)
def basic_sqrt_function(self): def basic_sqrt_function(self):
# basic query # basic query
tdSql.query("select c1 from ct3") tdSql.query("select c1 from ct3")
tdSql.checkRows(0) tdSql.checkRows(0)
tdSql.query("select c1 from t1") tdSql.query("select c1 from t1")
@ -249,7 +249,7 @@ class TDTestCase:
tdSql.checkData(5, 5, None) tdSql.checkData(5, 5, None)
self.check_result_auto_sqrt( "select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from t1", "select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from t1") self.check_result_auto_sqrt( "select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from t1", "select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from t1")
# used for sub table # used for sub table
tdSql.query("select c2 ,sqrt(c2) from ct1") tdSql.query("select c2 ,sqrt(c2) from ct1")
tdSql.checkData(0, 1, 298.140906284) tdSql.checkData(0, 1, 298.140906284)
@ -265,7 +265,7 @@ class TDTestCase:
tdSql.checkData(5 , 2, None) tdSql.checkData(5 , 2, None)
self.check_result_auto_sqrt( "select c1, c2, c3 , c4, c5 from ct1", "select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c4), sqrt(c5) from ct1") self.check_result_auto_sqrt( "select c1, c2, c3 , c4, c5 from ct1", "select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c4), sqrt(c5) from ct1")
# nest query for sqrt functions # nest query for sqrt functions
tdSql.query("select c4 , sqrt(c4) ,sqrt(sqrt(c4)) , sqrt(sqrt(sqrt(c4))) from ct1;") tdSql.query("select c4 , sqrt(c4) ,sqrt(sqrt(c4)) , sqrt(sqrt(sqrt(c4))) from ct1;")
tdSql.checkData(0 , 0 , 88) tdSql.checkData(0 , 0 , 88)
@ -283,18 +283,18 @@ class TDTestCase:
tdSql.checkData(11 , 2 , None) tdSql.checkData(11 , 2 , None)
tdSql.checkData(11 , 3 , None) tdSql.checkData(11 , 3 , None)
# used for stable table # used for stable table
tdSql.query("select sqrt(c1) from stb1") tdSql.query("select sqrt(c1) from stb1")
tdSql.checkRows(25) tdSql.checkRows(25)
# used for not exists table # used for not exists table
tdSql.error("select sqrt(c1) from stbbb1") tdSql.error("select sqrt(c1) from stbbb1")
tdSql.error("select sqrt(c1) from tbname") tdSql.error("select sqrt(c1) from tbname")
tdSql.error("select sqrt(c1) from ct5") tdSql.error("select sqrt(c1) from ct5")
# mix with common col # mix with common col
tdSql.query("select c1, sqrt(c1) from ct1") tdSql.query("select c1, sqrt(c1) from ct1")
tdSql.checkData(0 , 0 ,8) tdSql.checkData(0 , 0 ,8)
tdSql.checkData(0 , 1 ,2.828427125) tdSql.checkData(0 , 1 ,2.828427125)
@ -314,7 +314,7 @@ class TDTestCase:
tdSql.checkData(0 , 1 ,None) tdSql.checkData(0 , 1 ,None)
tdSql.checkData(0 , 2 ,None) tdSql.checkData(0 , 2 ,None)
tdSql.checkData(0 , 3 ,None) tdSql.checkData(0 , 3 ,None)
tdSql.checkData(3 , 0 , 6) tdSql.checkData(3 , 0 , 6)
tdSql.checkData(3 , 1 ,2.449489743) tdSql.checkData(3 , 1 ,2.449489743)
tdSql.checkData(3 , 2 ,2.449489743) tdSql.checkData(3 , 2 ,2.449489743)
@ -335,7 +335,7 @@ class TDTestCase:
tdSql.query("select max(c5), count(c5) from stb1") tdSql.query("select max(c5), count(c5) from stb1")
tdSql.query("select max(c5), count(c5) from ct1") tdSql.query("select max(c5), count(c5) from ct1")
# bug fix for count # bug fix for count
tdSql.query("select count(c1) from ct4 ") tdSql.query("select count(c1) from ct4 ")
tdSql.checkData(0,0,9) tdSql.checkData(0,0,9)
@ -346,7 +346,7 @@ class TDTestCase:
tdSql.query("select count(*) from stb1 ") tdSql.query("select count(*) from stb1 ")
tdSql.checkData(0,0,25) tdSql.checkData(0,0,25)
# # bug fix for compute # # bug fix for compute
tdSql.query("select c1, sqrt(c1) -0 ,sqrt(c1-4)-0 from ct4 ") tdSql.query("select c1, sqrt(c1) -0 ,sqrt(c1-4)-0 from ct4 ")
tdSql.checkData(0, 0, None) tdSql.checkData(0, 0, None)
tdSql.checkData(0, 1, None) tdSql.checkData(0, 1, None)
@ -397,16 +397,16 @@ class TDTestCase:
tdSql.checkRows(13) tdSql.checkRows(13)
# # bug for compute in functions # # bug for compute in functions
# tdSql.query("select c1, abs(1/0) from ct1") # tdSql.query("select c1, abs(1/0) from ct1")
# tdSql.checkData(0, 0, 8) # tdSql.checkData(0, 0, 8)
# tdSql.checkData(0, 1, 1) # tdSql.checkData(0, 1, 1)
tdSql.query("select c1, sqrt(1) from ct1") tdSql.query("select c1, sqrt(1) from ct1")
tdSql.checkData(0, 1, 1.000000000) tdSql.checkData(0, 1, 1.000000000)
tdSql.checkRows(13) tdSql.checkRows(13)
# two cols start sqrt(x,y) # two cols start sqrt(x,y)
tdSql.query("select c1,c2, sqrt(c2) from ct1") tdSql.query("select c1,c2, sqrt(c2) from ct1")
tdSql.checkData(0, 2, 298.140906284) tdSql.checkData(0, 2, 298.140906284)
tdSql.checkData(1, 2, 278.885281074) tdSql.checkData(1, 2, 278.885281074)
tdSql.checkData(4, 2, 0.000000000) tdSql.checkData(4, 2, 0.000000000)
@ -445,10 +445,10 @@ class TDTestCase:
tdSql.checkData(0,3,1.000000000) tdSql.checkData(0,3,1.000000000)
tdSql.checkData(0,4,0.900000000) tdSql.checkData(0,4,0.900000000)
tdSql.checkData(0,5,1.000000000) tdSql.checkData(0,5,1.000000000)
def pow_Arithmetic(self): def pow_Arithmetic(self):
pass pass
def check_boundary_values(self): def check_boundary_values(self):
tdSql.execute("drop database if exists bound_test") tdSql.execute("drop database if exists bound_test")
@ -475,11 +475,11 @@ class TDTestCase:
f"insert into sub1_bound values ( now()+1s, 2147483648, 9223372036854775808, 32768, 128, 3.40E+38, 1.7e+308, True, 'binary_tb1', 'nchar_tb1', now() )" f"insert into sub1_bound values ( now()+1s, 2147483648, 9223372036854775808, 32768, 128, 3.40E+38, 1.7e+308, True, 'binary_tb1', 'nchar_tb1', now() )"
) )
self.check_result_auto_sqrt( "select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from sub1_bound ", "select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from sub1_bound") self.check_result_auto_sqrt( "select abs(c1), abs(c2), abs(c3) , abs(c4), abs(c5) from sub1_bound ", "select sqrt(abs(c1)), sqrt(abs(c2)) ,sqrt(abs(c3)), sqrt(abs(c4)), sqrt(abs(c5)) from sub1_bound")
self.check_result_auto_sqrt( "select c1, c2, c3 , c3, c2 ,c1 from sub1_bound ", "select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c3), sqrt(c2) ,sqrt(c1) from sub1_bound") self.check_result_auto_sqrt( "select c1, c2, c3 , c3, c2 ,c1 from sub1_bound ", "select sqrt(c1), sqrt(c2) ,sqrt(c3), sqrt(c3), sqrt(c2) ,sqrt(c1) from sub1_bound")
self.check_result_auto_sqrt("select abs(abs(abs(abs(abs(abs(abs(abs(abs(c1))))))))) nest_col_func from sub1_bound" , "select sqrt(abs(c1)) from sub1_bound" ) self.check_result_auto_sqrt("select abs(abs(abs(abs(abs(abs(abs(abs(abs(c1))))))))) nest_col_func from sub1_bound" , "select sqrt(abs(c1)) from sub1_bound" )
# check basic elem for table per row # check basic elem for table per row
tdSql.query("select sqrt(abs(c1)) ,sqrt(abs(c2)) , sqrt(abs(c3)) , sqrt(abs(c4)), sqrt(abs(c5)), sqrt(abs(c6)) from sub1_bound ") tdSql.query("select sqrt(abs(c1)) ,sqrt(abs(c2)) , sqrt(abs(c3)) , sqrt(abs(c4)), sqrt(abs(c5)), sqrt(abs(c6)) from sub1_bound ")
tdSql.checkData(0,0,math.sqrt(2147483647)) tdSql.checkData(0,0,math.sqrt(2147483647))
@ -504,7 +504,7 @@ class TDTestCase:
tdSql.checkData(0,1,math.sqrt(9223372036854775807)) tdSql.checkData(0,1,math.sqrt(9223372036854775807))
tdSql.checkData(0,2,math.sqrt(32767.000000000)) tdSql.checkData(0,2,math.sqrt(32767.000000000))
tdSql.checkData(0,3,math.sqrt(63.500000000)) tdSql.checkData(0,3,math.sqrt(63.500000000))
def support_super_table_test(self): def support_super_table_test(self):
tdSql.execute(" use db ") tdSql.execute(" use db ")
self.check_result_auto_sqrt( " select c5 from stb1 order by ts " , "select sqrt(c5) from stb1 order by ts" ) self.check_result_auto_sqrt( " select c5 from stb1 order by ts " , "select sqrt(c5) from stb1 order by ts" )
@ -522,42 +522,42 @@ class TDTestCase:
tdSql.prepare() tdSql.prepare()
tdLog.printNoPrefix("==========step1:create table ==============") tdLog.printNoPrefix("==========step1:create table ==============")
self.prepare_datas() self.prepare_datas()
tdLog.printNoPrefix("==========step2:test errors ==============") tdLog.printNoPrefix("==========step2:test errors ==============")
self.test_errors() self.test_errors()
tdLog.printNoPrefix("==========step3:support types ============") tdLog.printNoPrefix("==========step3:support types ============")
self.support_types() self.support_types()
tdLog.printNoPrefix("==========step4: sqrt basic query ============") tdLog.printNoPrefix("==========step4: sqrt basic query ============")
self.basic_sqrt_function() self.basic_sqrt_function()
tdLog.printNoPrefix("==========step5: big number sqrt query ============") tdLog.printNoPrefix("==========step5: big number sqrt query ============")
self.test_big_number() self.test_big_number()
tdLog.printNoPrefix("==========step6: base number for sqrt query ============") tdLog.printNoPrefix("==========step6: base number for sqrt query ============")
self.pow_base_test() self.pow_base_test()
tdLog.printNoPrefix("==========step7: sqrt boundary query ============") tdLog.printNoPrefix("==========step7: sqrt boundary query ============")
self.check_boundary_values() self.check_boundary_values()
tdLog.printNoPrefix("==========step8: sqrt filter query ============") tdLog.printNoPrefix("==========step8: sqrt filter query ============")
self.abs_func_filter() self.abs_func_filter()
tdLog.printNoPrefix("==========step9: check sqrt result of stable query ============") tdLog.printNoPrefix("==========step9: check sqrt result of stable query ============")
self.support_super_table_test() self.support_super_table_test()
def stop(self): def stop(self):
tdSql.close() tdSql.close()