-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4763 from taosdata/test/td-2585
[TD-2585]<test>:migrate 4 sim cases to python to improve speed
- Loading branch information
Showing
18 changed files
with
424 additions
and
977 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
################################################################### | ||
# 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 time | ||
import taos | ||
from util.log import tdLog | ||
from util.cases import tdCases | ||
from util.sql import tdSql | ||
|
||
|
||
class TDTestCase: | ||
def init(self, conn, logSql): | ||
tdLog.debug("start to execute %s" % __file__) | ||
tdSql.init(conn.cursor(), logSql) | ||
|
||
def run(self): | ||
tbNum = 10 | ||
rowNum = 20 | ||
totalNum = tbNum * rowNum | ||
|
||
tdSql.prepare() | ||
|
||
tdLog.info("===== preparing data =====") | ||
tdSql.execute( | ||
"create table stb(ts timestamp, tbcol int, tbcol2 float) tags(tgcol int)") | ||
for i in range(tbNum): | ||
tdSql.execute("create table tb%d using stb tags(%d)" % (i, i)) | ||
for j in range(rowNum): | ||
tdSql.execute( | ||
"insert into tb%d values (now - %dm, %d, %d)" % | ||
(i, 1440 - j, j, j)) | ||
time.sleep(0.1) | ||
|
||
tdLog.info("===== step 1 =====") | ||
tdSql.query("select count(*), count(tbcol), count(tbcol2) from stb interval(1d)") | ||
tdSql.checkData(0, 1, totalNum) | ||
tdSql.checkData(0, 2, totalNum) | ||
tdSql.checkData(0, 3, totalNum) | ||
|
||
tdLog.info("===== step 2 =====") | ||
tdSql.execute("create table strm_c3 as select count(*), count(tbcol), count(tbcol2) from stb interval(1d)") | ||
|
||
tdLog.info("===== step 3 =====") | ||
tdSql.execute("create table strm_c32 as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from stb interval(1d)") | ||
|
||
tdLog.info("===== step 4 =====") | ||
tdSql.query("select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from stb interval(1d)") | ||
tdSql.checkData(0, 1, totalNum) | ||
tdSql.checkData(0, 2, totalNum) | ||
tdSql.checkData(0, 3, totalNum) | ||
|
||
tdLog.info("===== step 5 =====") | ||
tdSql.execute("create table strm_c31 as select count(*), count(tbcol) as c1, count(tbcol2) as c2, count(tbcol) as c3, count(tbcol) as c4, count(tbcol) as c5, count(tbcol) as c6, count(tbcol) as c7, count(tbcol) as c8, count(tbcol) as c9, count(tbcol) as c10, count(tbcol) as c11, count(tbcol) as c12, count(tbcol) as c13, count(tbcol) as c14, count(tbcol) as c15, count(tbcol) as c16, count(tbcol) as c17, count(tbcol) as c18, count(tbcol) as c19, count(tbcol) as c20, count(tbcol) as c21, count(tbcol) as c22, count(tbcol) as c23, count(tbcol) as c24, count(tbcol) as c25, count(tbcol) as c26, count(tbcol) as c27, count(tbcol) as c28, count(tbcol) as c29, count(tbcol) as c30 from stb interval(1d)") | ||
|
||
tdLog.info("===== step 6 =====") | ||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from stb interval(1d)") | ||
tdSql.checkData(0, 1, 9.5) | ||
tdSql.checkData(0, 2, 1900) | ||
tdSql.checkData(0, 3, 0) | ||
tdSql.checkData(0, 4, 19) | ||
tdSql.checkData(0, 5, 0) | ||
tdSql.checkData(0, 6, 19) | ||
tdSql.execute("create table strm_avg as select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol) from stb interval(1d)") | ||
|
||
tdLog.info("===== step 7 =====") | ||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from stb where ts < now + 4m interval(1d)") | ||
tdSql.checkData(0, 1, 9.5) | ||
tdSql.checkData(0, 2, 1900) | ||
tdSql.checkData(0, 3, 0) | ||
tdSql.checkData(0, 4, 19) | ||
tdSql.checkData(0, 5, 0) | ||
tdSql.checkData(0, 6, 19) | ||
tdSql.checkData(0, 7, totalNum) | ||
|
||
tdLog.info("===== step 8 =====") | ||
tdSql.query("select avg(tbcol), sum(tbcol), min(tbcol), max(tbcol), first(tbcol), last(tbcol), count(tbcol) from stb where ts < now + 4m interval(1d)") | ||
tdSql.checkData(0, 1, 9.5) | ||
tdSql.checkData(0, 2, 1900) | ||
tdSql.checkData(0, 3, 0) | ||
tdSql.checkData(0, 4, 19) | ||
tdSql.checkData(0, 5, 0) | ||
tdSql.checkData(0, 6, 19) | ||
tdSql.checkData(0, 7, totalNum) | ||
|
||
tdLog.info("===== step 9 =====") | ||
tdSql.waitedQuery("select * from strm_c3", 1, 120) | ||
tdSql.checkData(0, 1, totalNum) | ||
tdSql.checkData(0, 2, totalNum) | ||
tdSql.checkData(0, 3, totalNum) | ||
|
||
tdLog.info("===== step 10 =====") | ||
tdSql.waitedQuery("select * from strm_c31", 1, 30) | ||
for i in range(1, 10): | ||
tdSql.checkData(0, i, totalNum) | ||
|
||
tdLog.info("===== step 11 =====") | ||
tdSql.waitedQuery("select * from strm_avg", 1, 20) | ||
tdSql.checkData(0, 1, 9.5) | ||
tdSql.checkData(0, 2, 1900) | ||
tdSql.checkData(0, 3, 0) | ||
tdSql.checkData(0, 4, 19) | ||
tdSql.checkData(0, 5, 0) | ||
tdSql.checkData(0, 6, 19) | ||
|
||
|
||
def stop(self): | ||
tdSql.close() | ||
tdLog.success("%s successfully executed" % __file__) | ||
|
||
|
||
tdCases.addWindows(__file__, TDTestCase()) | ||
tdCases.addLinux(__file__, TDTestCase()) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
################################################################### | ||
# 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 | ||
# | ||
################################################################### | ||
|
||
# migrated from 'stream_on_sys.sim' | ||
# -*- coding: utf-8 -*- | ||
import sys | ||
import time | ||
import taos | ||
from util.log import tdLog | ||
from util.cases import tdCases | ||
from util.sql import tdSql | ||
|
||
|
||
class TDTestCase: | ||
updatecfgDict = {'monitor': 1} | ||
|
||
def init(self, conn, logSql): | ||
tdLog.debug("start to execute %s" % __file__) | ||
tdSql.init(conn.cursor(), logSql) | ||
|
||
|
||
def run(self): | ||
tdSql.execute("use log") | ||
|
||
tdSql.execute("create table cpustrm as select count(*), avg(cpu_taosd), max(cpu_taosd), min(cpu_taosd), avg(cpu_system), max(cpu_cores), min(cpu_cores), last(cpu_cores) from log.dn1 interval(4s)") | ||
tdSql.execute("create table memstrm as select count(*), avg(mem_taosd), max(mem_taosd), min(mem_taosd), avg(mem_system), first(mem_total), last(mem_total) from log.dn1 interval(4s)") | ||
tdSql.execute("create table diskstrm as select count(*), avg(disk_used), last(disk_used), avg(disk_total), first(disk_total) from log.dn1 interval(4s)") | ||
tdSql.execute("create table bandstrm as select count(*), avg(band_speed), last(band_speed) from log.dn1 interval(4s)") | ||
tdSql.execute("create table reqstrm as select count(*), avg(req_http), last(req_http), avg(req_select), last(req_select), avg(req_insert), last(req_insert) from log.dn1 interval(4s)") | ||
tdSql.execute("create table iostrm as select count(*), avg(io_read), last(io_read), avg(io_write), last(io_write) from log.dn1 interval(4s)") | ||
|
||
sqls = [ | ||
"select * from cpustrm", | ||
"select * from memstrm", | ||
"select * from diskstrm", | ||
"select * from bandstrm", | ||
"select * from reqstrm", | ||
"select * from iostrm", | ||
] | ||
for sql in sqls: | ||
(rows, _) = tdSql.waitedQuery(sql, 1, 120) | ||
if rows < 1: | ||
tdLog.exit("failed: sql:%s, expect at least one row" % sql) | ||
|
||
|
||
def stop(self): | ||
tdSql.close() | ||
tdLog.success("%s successfully executed" % __file__) | ||
|
||
|
||
tdCases.addWindows(__file__, TDTestCase()) | ||
tdCases.addLinux(__file__, TDTestCase()) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
################################################################### | ||
# 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 time | ||
import taos | ||
from util.log import tdLog | ||
from util.cases import tdCases | ||
from util.sql import tdSql | ||
|
||
|
||
class TDTestCase: | ||
def init(self, conn, logSql): | ||
tdLog.debug("start to execute %s" % __file__) | ||
tdSql.init(conn.cursor(), logSql) | ||
|
||
def createFuncStream(self, expr, suffix, value): | ||
tbname = "strm_" + suffix | ||
tdLog.info("create stream table %s" % tbname) | ||
tdSql.query("select %s from tb1 interval(1d)" % expr) | ||
tdSql.checkData(0, 1, value) | ||
tdSql.execute("create table %s as select %s from tb1 interval(1d)" % (tbname, expr)) | ||
|
||
def checkStreamData(self, suffix, value): | ||
sql = "select * from strm_" + suffix | ||
tdSql.waitedQuery(sql, 1, 120) | ||
tdSql.checkData(0, 1, value) | ||
|
||
def run(self): | ||
tbNum = 10 | ||
rowNum = 20 | ||
|
||
tdSql.prepare() | ||
|
||
tdLog.info("===== step1 =====") | ||
tdSql.execute( | ||
"create table stb(ts timestamp, tbcol int, tbcol2 float) tags(tgcol int)") | ||
for i in range(tbNum): | ||
tdSql.execute("create table tb%d using stb tags(%d)" % (i, i)) | ||
for j in range(rowNum): | ||
tdSql.execute( | ||
"insert into tb%d values (now - %dm, %d, %d)" % | ||
(i, 1440 - j, j, j)) | ||
time.sleep(0.1) | ||
|
||
self.createFuncStream("count(*)", "c1", rowNum) | ||
self.createFuncStream("count(tbcol)", "c2", rowNum) | ||
self.createFuncStream("count(tbcol2)", "c3", rowNum) | ||
self.createFuncStream("avg(tbcol)", "av", 9.5) | ||
self.createFuncStream("sum(tbcol)", "su", 190) | ||
self.createFuncStream("min(tbcol)", "mi", 0) | ||
self.createFuncStream("max(tbcol)", "ma", 19) | ||
self.createFuncStream("first(tbcol)", "fi", 0) | ||
self.createFuncStream("last(tbcol)", "la", 19) | ||
self.createFuncStream("stddev(tbcol)", "st", 5.766281297335398) | ||
self.createFuncStream("percentile(tbcol, 1)", "pe", 0.19) | ||
self.createFuncStream("count(tbcol)", "as", rowNum) | ||
|
||
self.checkStreamData("c1", rowNum) | ||
self.checkStreamData("c2", rowNum) | ||
self.checkStreamData("c3", rowNum) | ||
self.checkStreamData("av", 9.5) | ||
self.checkStreamData("su", 190) | ||
self.checkStreamData("mi", 0) | ||
self.checkStreamData("ma", 19) | ||
self.checkStreamData("fi", 0) | ||
self.checkStreamData("la", 19) | ||
self.checkStreamData("st", 5.766281297335398) | ||
self.checkStreamData("pe", 0.19) | ||
self.checkStreamData("as", rowNum) | ||
|
||
|
||
def stop(self): | ||
tdSql.close() | ||
tdLog.success("%s successfully executed" % __file__) | ||
|
||
|
||
tdCases.addWindows(__file__, TDTestCase()) | ||
tdCases.addLinux(__file__, TDTestCase()) |
Oops, something went wrong.