add test cases
This commit is contained in:
parent
f9f4066f3c
commit
04bd07da59
|
@ -25,7 +25,7 @@ class TDTestCase:
|
||||||
def init(self, conn, logSql, replicaVar):
|
def init(self, conn, logSql, replicaVar):
|
||||||
tdLog.debug("start to execute %s" % __file__)
|
tdLog.debug("start to execute %s" % __file__)
|
||||||
tdSql.init(conn.cursor(), logSql)
|
tdSql.init(conn.cursor(), logSql)
|
||||||
|
|
||||||
def getBuildPath(self):
|
def getBuildPath(self):
|
||||||
selfPath = os.path.dirname(os.path.realpath(__file__))
|
selfPath = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
|
||||||
|
@ -41,9 +41,9 @@ class TDTestCase:
|
||||||
buildPath = root[:len(root)-len("/build/bin")]
|
buildPath = root[:len(root)-len("/build/bin")]
|
||||||
break
|
break
|
||||||
return buildPath
|
return buildPath
|
||||||
|
|
||||||
def run_benchmark(self,dbname,tables,per_table_num,order,replica):
|
def run_benchmark(self,dbname,tables,per_table_num,order,replica):
|
||||||
#O :Out of order
|
#O :Out of order
|
||||||
#A :Repliaca
|
#A :Repliaca
|
||||||
buildPath = self.getBuildPath()
|
buildPath = self.getBuildPath()
|
||||||
if (buildPath == ""):
|
if (buildPath == ""):
|
||||||
|
@ -53,135 +53,147 @@ class TDTestCase:
|
||||||
binPath = buildPath+ "/build/bin/"
|
binPath = buildPath+ "/build/bin/"
|
||||||
|
|
||||||
os.system("%staosBenchmark -d %s -t %d -n %d -O %d -a %d -b float,double,nchar\(200\),binary\(50\) -T 50 -y " % (binPath,dbname,tables,per_table_num,order,replica))
|
os.system("%staosBenchmark -d %s -t %d -n %d -O %d -a %d -b float,double,nchar\(200\),binary\(50\) -T 50 -y " % (binPath,dbname,tables,per_table_num,order,replica))
|
||||||
|
|
||||||
def sql_base(self,dbname):
|
def sql_base(self,dbname):
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql1 = "select count(*) from %s.meters" %dbname
|
sql1 = "select count(*) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql1)
|
self.sql_base_check(sql1,sql1)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(ts) from %s.meters" %dbname
|
sql2 = "select count(ts) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(_c0) from %s.meters" %dbname
|
sql2 = "select count(_c0) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c0) from %s.meters" %dbname
|
sql2 = "select count(c0) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c1) from %s.meters" %dbname
|
sql2 = "select count(c1) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c2) from %s.meters" %dbname
|
sql2 = "select count(c2) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c3) from %s.meters" %dbname
|
sql2 = "select count(c3) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(t0) from %s.meters" %dbname
|
sql2 = "select count(t0) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(t1) from %s.meters" %dbname
|
sql2 = "select count(t1) from %s.meters" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(ts) from (select * from %s.meters)" %dbname
|
sql2 = "select count(ts) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(_c0) from (select * from %s.meters)" %dbname
|
sql2 = "select count(_c0) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c0) from (select * from %s.meters)" %dbname
|
sql2 = "select count(c0) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c1) from (select * from %s.meters)" %dbname
|
sql2 = "select count(c1) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c2) from (select * from %s.meters)" %dbname
|
sql2 = "select count(c2) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(c3) from (select * from %s.meters)" %dbname
|
sql2 = "select count(c3) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(t0) from (select * from %s.meters)" %dbname
|
sql2 = "select count(t0) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
self.check_sub(dbname)
|
self.check_sub(dbname)
|
||||||
sql2 = "select count(t1) from (select * from %s.meters)" %dbname
|
sql2 = "select count(t1) from (select * from %s.meters)" %dbname
|
||||||
self.sql_base_check(sql1,sql2)
|
self.sql_base_check(sql1,sql2)
|
||||||
|
|
||||||
|
# TD-22520
|
||||||
|
tdSql.query("select tbname, ts from %s.meters where ts < '2017-07-14 10:40:00' order by ts asc limit 150;" %dbname)
|
||||||
|
tdSql.checkRows(150)
|
||||||
|
|
||||||
|
tdSql.query("select tbname, ts from %s.meters where ts < '2017-07-14 10:40:00' order by ts asc limit 300;" %dbname)
|
||||||
|
tdSql.checkRows(300)
|
||||||
|
|
||||||
|
tdSql.query("select tbname, ts from %s.meters where ts < '2017-07-14 10:40:00' order by ts desc limit 150;" %dbname)
|
||||||
|
tdSql.checkRows(150)
|
||||||
|
|
||||||
|
tdSql.query("select tbname, ts from %s.meters where ts < '2017-07-14 10:40:00' order by ts desc limit 300;" %dbname)
|
||||||
|
tdSql.checkRows(300)
|
||||||
|
|
||||||
def sql_base_check(self,sql1,sql2):
|
def sql_base_check(self,sql1,sql2):
|
||||||
tdSql.query(sql1)
|
tdSql.query(sql1)
|
||||||
sql1_result = tdSql.getData(0,0)
|
sql1_result = tdSql.getData(0,0)
|
||||||
tdLog.info("sql:%s , result: %s" %(sql1,sql1_result))
|
tdLog.info("sql:%s , result: %s" %(sql1,sql1_result))
|
||||||
|
|
||||||
tdSql.query(sql2)
|
tdSql.query(sql2)
|
||||||
sql2_result = tdSql.getData(0,0)
|
sql2_result = tdSql.getData(0,0)
|
||||||
tdLog.info("sql:%s , result: %s" %(sql2,sql2_result))
|
tdLog.info("sql:%s , result: %s" %(sql2,sql2_result))
|
||||||
|
|
||||||
if sql1_result==sql2_result:
|
if sql1_result==sql2_result:
|
||||||
tdLog.info(f"checkEqual success, sql1_result={sql1_result},sql2_result={sql2_result}")
|
tdLog.info(f"checkEqual success, sql1_result={sql1_result},sql2_result={sql2_result}")
|
||||||
else :
|
else :
|
||||||
tdLog.exit(f"checkEqual error, sql1_result=={sql1_result},sql2_result={sql2_result}")
|
tdLog.exit(f"checkEqual error, sql1_result=={sql1_result},sql2_result={sql2_result}")
|
||||||
|
|
||||||
def run_sql(self,dbname):
|
def run_sql(self,dbname):
|
||||||
self.sql_base(dbname)
|
self.sql_base(dbname)
|
||||||
|
|
||||||
tdSql.execute(" flush database %s;" %dbname)
|
tdSql.execute(" flush database %s;" %dbname)
|
||||||
|
|
||||||
self.sql_base(dbname)
|
self.sql_base(dbname)
|
||||||
|
|
||||||
def check_sub(self,dbname):
|
def check_sub(self,dbname):
|
||||||
|
|
||||||
sql = "select count(*) from (select distinct(tbname) from %s.meters)" %dbname
|
sql = "select count(*) from (select distinct(tbname) from %s.meters)" %dbname
|
||||||
tdSql.query(sql)
|
tdSql.query(sql)
|
||||||
num = tdSql.getData(0,0)
|
num = tdSql.getData(0,0)
|
||||||
|
|
||||||
for i in range(0,num):
|
for i in range(0,num):
|
||||||
sql1 = "select count(*) from %s.d%d" %(dbname,i)
|
sql1 = "select count(*) from %s.d%d" %(dbname,i)
|
||||||
tdSql.query(sql1)
|
tdSql.query(sql1)
|
||||||
sql1_result = tdSql.getData(0,0)
|
sql1_result = tdSql.getData(0,0)
|
||||||
tdLog.info("sql:%s , result: %s" %(sql1,sql1_result))
|
tdLog.info("sql:%s , result: %s" %(sql1,sql1_result))
|
||||||
|
|
||||||
def check_out_of_order(self,dbname,tables,per_table_num,order,replica):
|
def check_out_of_order(self,dbname,tables,per_table_num,order,replica):
|
||||||
self.run_benchmark(dbname,tables,per_table_num,order,replica)
|
self.run_benchmark(dbname,tables,per_table_num,order,replica)
|
||||||
print("sleep 10 seconds")
|
print("sleep 10 seconds")
|
||||||
#time.sleep(10)
|
#time.sleep(10)
|
||||||
print("sleep 10 seconds finish")
|
print("sleep 10 seconds finish")
|
||||||
|
|
||||||
self.run_sql(dbname)
|
self.run_sql(dbname)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
startTime = time.time()
|
startTime = time.time()
|
||||||
|
|
||||||
#self.check_out_of_order('db1',10,random.randint(10000,50000),random.randint(1,10),1)
|
#self.check_out_of_order('db1',10,random.randint(10000,50000),random.randint(1,10),1)
|
||||||
self.check_out_of_order('db1',random.randint(50,200),random.randint(10000,20000),random.randint(1,5),1)
|
self.check_out_of_order('db1',random.randint(50,200),random.randint(10000,20000),random.randint(1,5),1)
|
||||||
|
|
||||||
# self.check_out_of_order('db2',random.randint(50,200),random.randint(10000,50000),random.randint(5,50),1)
|
# self.check_out_of_order('db2',random.randint(50,200),random.randint(10000,50000),random.randint(5,50),1)
|
||||||
|
|
||||||
# self.check_out_of_order('db3',random.randint(50,200),random.randint(10000,50000),random.randint(50,100),1)
|
# self.check_out_of_order('db3',random.randint(50,200),random.randint(10000,50000),random.randint(50,100),1)
|
||||||
|
|
||||||
# self.check_out_of_order('db4',random.randint(50,200),random.randint(10000,50000),100,1)
|
# self.check_out_of_order('db4',random.randint(50,200),random.randint(10000,50000),100,1)
|
||||||
|
|
||||||
endTime = time.time()
|
endTime = time.time()
|
||||||
print("total time %ds" % (endTime - startTime))
|
print("total time %ds" % (endTime - startTime))
|
||||||
|
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
tdSql.close()
|
tdSql.close()
|
||||||
tdLog.success("%s successfully executed" % __file__)
|
tdLog.success("%s successfully executed" % __file__)
|
||||||
|
|
Loading…
Reference in New Issue