From d66d638ce7583942c032f87103cd3929baa08565 Mon Sep 17 00:00:00 2001 From: plum-lihui Date: Sun, 24 Apr 2022 17:45:01 +0800 Subject: [PATCH] [test: add tmq test cases] --- tests/script/tsim/tmq/basic1.sim | 4 +- tests/script/tsim/tmq/basic1Of2Cons.sim | 134 +++---- tests/script/tsim/tmq/basic2.sim | 4 +- tests/script/tsim/tmq/basic2Of2Cons.sim | 132 +++---- .../script/tsim/tmq/basic2Of2ConsOverlap.sim | 337 ++++++++++++++++++ tests/script/tsim/tmq/basic3.sim | 4 +- tests/script/tsim/tmq/basic3Of2Cons.sim | 102 +++--- tests/script/tsim/tmq/basic4.sim | 4 +- tests/script/tsim/tmq/basic4Of2Cons.sim | 99 +++-- 9 files changed, 552 insertions(+), 268 deletions(-) create mode 100644 tests/script/tsim/tmq/basic2Of2ConsOverlap.sim diff --git a/tests/script/tsim/tmq/basic1.sim b/tests/script/tsim/tmq/basic1.sim index f4e8f08c37..d7534338e1 100644 --- a/tests/script/tsim/tmq/basic1.sim +++ b/tests/script/tsim/tmq/basic1.sim @@ -175,7 +175,7 @@ $totalMsgOfCtb = $rowsPerCtb $expectmsgcnt = $totalMsgOfCtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ctb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start @@ -246,7 +246,7 @@ $totalMsgOfNtb = $rowsPerCtb $expectmsgcnt = $totalMsgOfNtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ntb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start diff --git a/tests/script/tsim/tmq/basic1Of2Cons.sim b/tests/script/tsim/tmq/basic1Of2Cons.sim index 5f54715b36..957f1774f9 100644 --- a/tests/script/tsim/tmq/basic1Of2Cons.sim +++ b/tests/script/tsim/tmq/basic1Of2Cons.sim @@ -132,39 +132,32 @@ if $data[0][1] == 1 then endi endi -if $data[0][2] != 0 then - if $data[0][2] != $expectmsgcnt then - return -1 - endi - if $data[1][2] != 0 then - return -1 - endi -endi -if $data[1][2] != 0 then - if $data[1][2] != $expectmsgcnt then - return -1 +# either $data[0][2] == $totalMsgOfStb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfStb +if $data[0][2] == $totalMsgOfStb then + if $data[1][2] == 0 then + goto check_ok_0 endi - if $data[0][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfStb then + goto check_ok_0 endi endi +return -1 +check_ok_0: -if $data[0][3] != 0 then - if $data[0][3] != $expectmsgcnt then - return -1 - endi - if $data[1][3] != 0 then - return -1 +if $data[0][3] == $totalMsgOfStb then + if $data[1][3] == 0 then + goto check_ok_1 endi -endi -if $data[1][3] != 0 then - if $data[1][3] != $expectmsgcnt then - return -1 - endi - if $data[0][3] != 0 then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfStb then + goto check_ok_1 endi endi +return -1 +check_ok_1: + $loop_cnt = $loop_cnt + 1 goto loop_consume_diff_topic_from_stb loop_consume_diff_topic_from_stb_end: @@ -241,39 +234,31 @@ if $data[0][1] == 1 then endi endi -if $data[0][2] != $totalMsgOfCtb then - if $data[1][2] != $totalMsgOfCtb then - return -1 - endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfCtb then - if $data[0][2] != $totalMsgOfCtb then - return -1 +# either $data[0][2] == $totalMsgOfCtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfCtb +if $data[0][2] == $totalMsgOfCtb then + if $data[1][2] == 0 then + goto check_ok_2 endi - if $data[1][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfCtb then + goto check_ok_2 endi endi +return -1 +check_ok_2: -if $data[0][3] != $totalMsgOfCtb then - if $data[1][3] != $totalMsgOfCtb then - return -1 +if $data[0][3] == $totalMsgOfCtb then + if $data[1][3] == 0 then + goto check_ok_3 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfCtb then - if $data[0][3] != $totalMsgOfCtb then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfCtb then + goto check_ok_3 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_3: $loop_cnt = $loop_cnt + 1 goto loop_consume_diff_topic_from_ctb @@ -351,39 +336,32 @@ if $data[1][1] == 0 then endi endi -if $data[0][2] != $totalMsgOfNtb then - if $data[1][2] != $totalMsgOfNtb then - return -1 - endi - if $data[0][2] != 0 then - return -1 +# either $data[0][2] == $totalMsgOfNtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfNtb +if $data[0][2] == $totalMsgOfNtb then + if $data[1][2] == 0 then + goto check_ok_4 endi -endi -if $data[1][2] != $totalMsgOfNtb then - if $data[0][2] != $totalMsgOfNtb then - return -1 - endi - if $data[1][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfNtb then + goto check_ok_4 endi endi +return -1 +check_ok_4: -if $data[0][3] != $totalMsgOfNtb then - if $data[1][3] != $totalMsgOfNtb then - return -1 +if $data[0][3] == $totalMsgOfNtb then + if $data[1][3] == 0 then + goto check_ok_5 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfNtb then - if $data[0][3] != $totalMsgOfNtb then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfNtb then + goto check_ok_5 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_5: + $loop_cnt = $loop_cnt + 1 goto loop_consume_diff_topic_from_ntb loop_consume_diff_topic_from_ntb_end: diff --git a/tests/script/tsim/tmq/basic2.sim b/tests/script/tsim/tmq/basic2.sim index b3e9a67c62..ac0d2bb6df 100644 --- a/tests/script/tsim/tmq/basic2.sim +++ b/tests/script/tsim/tmq/basic2.sim @@ -133,7 +133,7 @@ $totalMsgOfCtb = $rowsPerCtb * $topicNum $expectmsgcnt = $totalMsgOfCtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ctb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start @@ -190,7 +190,7 @@ $totalMsgOfNtb = $rowsPerCtb * $topicNum $expectmsgcnt = $totalMsgOfNtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ntb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start diff --git a/tests/script/tsim/tmq/basic2Of2Cons.sim b/tests/script/tsim/tmq/basic2Of2Cons.sim index 354260fb47..01ccb2b515 100644 --- a/tests/script/tsim/tmq/basic2Of2Cons.sim +++ b/tests/script/tsim/tmq/basic2Of2Cons.sim @@ -103,39 +103,31 @@ if $data[0][1] == 1 then endi endi -if $data[0][2] != 0 then - if $data[0][2] != $expectmsgcnt then - return -1 - endi - if $data[1][2] != 0 then - return -1 - endi -endi -if $data[1][2] != 0 then - if $data[1][2] != $expectmsgcnt then - return -1 +# either $data[0][2] == $totalMsgOfStb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfStb +if $data[0][2] == $totalMsgOfStb then + if $data[1][2] == 0 then + goto check_ok_0 endi - if $data[0][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfStb then + goto check_ok_0 endi endi +return -1 +check_ok_0: -if $data[0][3] != 0 then - if $data[0][3] != $expectmsgcnt then - return -1 +if $data[0][3] == $totalMsgOfStb then + if $data[1][3] == 0 then + goto check_ok_1 endi - if $data[1][3] != 0 then - return -1 - endi -endi -if $data[1][3] != 0 then - if $data[1][3] != $expectmsgcnt then - return -1 - endi - if $data[0][3] != 0 then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfStb then + goto check_ok_1 endi endi +return -1 +check_ok_1: ####################################################################################### # clear consume info and consume result @@ -198,39 +190,31 @@ if $data[0][1] == 1 then endi endi -if $data[0][2] != $totalMsgOfCtb then - if $data[1][2] != $totalMsgOfCtb then - return -1 - endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfCtb then - if $data[0][2] != $totalMsgOfCtb then - return -1 +# either $data[0][2] == $totalMsgOfCtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfCtb +if $data[0][2] == $totalMsgOfCtb then + if $data[1][2] == 0 then + goto check_ok_2 endi - if $data[1][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfCtb then + goto check_ok_2 endi endi +return -1 +check_ok_2: -if $data[0][3] != $totalMsgOfCtb then - if $data[1][3] != $totalMsgOfCtb then - return -1 +if $data[0][3] == $totalMsgOfCtb then + if $data[1][3] == 0 then + goto check_ok_3 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfCtb then - if $data[0][3] != $totalMsgOfCtb then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfCtb then + goto check_ok_3 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_3: ####################################################################################### # clear consume info and consume result @@ -293,39 +277,31 @@ if $data[1][1] == 0 then endi endi -if $data[0][2] != $totalMsgOfNtb then - if $data[1][2] != $totalMsgOfNtb then - return -1 +# either $data[0][2] == $totalMsgOfNtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfNtb +if $data[0][2] == $totalMsgOfNtb then + if $data[1][2] == 0 then + goto check_ok_4 endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfNtb then - if $data[0][2] != $totalMsgOfNtb then - return -1 - endi - if $data[1][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfNtb then + goto check_ok_4 endi endi +return -1 +check_ok_4: -if $data[0][3] != $totalMsgOfNtb then - if $data[1][3] != $totalMsgOfNtb then - return -1 +if $data[0][3] == $totalMsgOfNtb then + if $data[1][3] == 0 then + goto check_ok_5 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfNtb then - if $data[0][3] != $totalMsgOfNtb then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfNtb then + goto check_ok_5 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_5: #------ not need stop consumer, because it exit after pull msg overthan expect msg #system tsim/tmq/consume.sh -s stop -x SIGINT diff --git a/tests/script/tsim/tmq/basic2Of2ConsOverlap.sim b/tests/script/tsim/tmq/basic2Of2ConsOverlap.sim new file mode 100644 index 0000000000..d04338aadd --- /dev/null +++ b/tests/script/tsim/tmq/basic2Of2ConsOverlap.sim @@ -0,0 +1,337 @@ +#### test scenario, please refer to https://jira.taosdata.com:18090/pages/viewpage.action?pageId=135120406 +#basic1Of2Cons.sim: vgroups=1, one topic for 2 consumers, firstly insert data, then start consume. Include six topics +#basic2Of2ConsOverlap.sim: vgroups=1, multi topics for 2 consumers, firstly insert data, then start consume. Include six topics +#basic3Of2Cons.sim: vgroups=4, one topic for 2 consumers, firstly insert data, then start consume. Include six topics +#basic4Of2Cons.sim: vgroups=4, multi topics for 2 consumers, firstly insert data, then start consume. Include six topics + +# notes1: Scalar function: ABS/ACOS/ASIN/ATAN/CEIL/COS/FLOOR/LOG/POW/ROUND/SIN/SQRT/TAN +# The above use cases are combined with where filter conditions, such as: where ts > "2017-08-12 18:25:58.128Z" and sin(a) > 0.5; +# +# notes2: not support aggregate functions(such as sum/count/min/max) and time-windows(interval). +# + +run tsim/tmq/prepareBasicEnv-1vgrp.sim + +#---- global parameters start ----# +$dbName = db +$vgroups = 1 +$stbPrefix = stb +$ctbPrefix = ctb +$ntbPrefix = ntb +$stbNum = 1 +$ctbNum = 10 +$ntbNum = 10 +$rowsPerCtb = 10 +$tstart = 1640966400000 # 2022-01-01 00:00:00.000 +#---- global parameters end ----# + +$pullDelay = 5 +$ifcheckdata = 1 +$showMsg = 1 +$showRow = 0 + +sql connect +sql use $dbName + +print == create topics from super table +sql create topic topic_stb_column as select ts, c3 from stb +sql create topic topic_stb_all as select ts, c1, c2, c3 from stb +sql create topic topic_stb_function as select ts, abs(c1), sin(c2) from stb + +print == create topics from child table +sql create topic topic_ctb_column as select ts, c3 from ctb0 +sql create topic topic_ctb_all as select * from ctb0 +sql create topic topic_ctb_function as select ts, abs(c1), sin(c2) from ctb0 + +print == create topics from normal table +sql create topic topic_ntb_column as select ts, c3 from ntb0 +sql create topic topic_ntb_all as select * from ntb0 +sql create topic topic_ntb_function as select ts, abs(c1), sin(c2) from ntb0 + +#sql show topics +#if $rows != 9 then +# return -1 +#endi + +$keyList = ' . group.id:cgrp1 +$keyList = $keyList . ' + +$topicNum = 2 + +#=============================== start consume =============================# + + +print ================ test consume from stb +print == overlap toipcs: topic_stb_column + topic_stb_all, topic_stb_function + topic_stb_all +$topicList = ' . topic_stb_column +$topicList = $topicList . , +$topicList = $topicList . topic_stb_all +$topicList = $topicList . ' + +$consumerId = 0 +$totalMsgOfOneTopic = $ctbNum * $rowsPerCtb +$totalMsgOfStb = $totalMsgOfOneTopic * $topicNum +$expectmsgcnt = $totalMsgOfStb +sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) + + +$topicList = ' . topic_stb_all +$topicList = $topicList . , +$topicList = $topicList . topic_stb_function +$topicList = $topicList . ' +$consumerId = 1 +sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) + +print == start consumer to pull msgs from stb +print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $dbName -s start +system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $dbName -s start + +print == check consume result +wait_consumer_end_from_stb: +sql select * from consumeresult +print ==> rows: $rows +print ==> rows[0]: $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6] +print ==> rows[1]: $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4] $data[1][5] $data[1][6] +if $rows != 2 then + sleep 1000 + goto wait_consumer_end_from_stb +endi +if $data[0][1] == 0 then + if $data[1][1] != 1 then + return -1 + endi +endi +if $data[0][1] == 1 then + if $data[1][1] != 0 then + return -1 + endi +endi + +# $data[0][2]/$data[1][2] should be between $totalMsgOfOneTopic and $totalMsgOfStb. + +if $data[0][2] < $totalMsgOfOneTopic then + return -1 +endi +if $data[0][2] > $totalMsgOfStb then + return -1 +endi +if $data[1][2] < $totalMsgOfOneTopic then + return -1 +endi +if $data[1][2] > $totalMsgOfStb then + return -1 +endi + +$totalMsgCons = $totalMsgOfOneTopic + $totalMsgOfStb +$sumOfMsgCnt = $data[0][2] + $data[1][2] +if $sumOfMsgCnt != $totalMsgCons then + return -1 +endi + +# $data[0][3]/$data[1][3] should be between $totalMsgOfOneTopic and $totalMsgOfStb. +if $data[0][3] < $totalMsgOfOneTopic then + return -1 +endi +if $data[0][3] > $totalMsgOfStb then + return -1 +endi +if $data[1][3] < $totalMsgOfOneTopic then + return -1 +endi +if $data[1][3] > $totalMsgOfStb then + return -1 +endi + +$totalMsgCons = $totalMsgOfOneTopic + $totalMsgOfStb +$sumOfRows = $data[0][3] + $data[1][3] +if $sumOfRows != $totalMsgCons then + return -1 +endi + +####################################################################################### +# clear consume info and consume result +#run tsim/tmq/clearConsume.sim +# because drop table function no stable, so by create new db for consume info and result. Modify it later +$cdbName = cdb1 +sql create database $cdbName vgroups 1 +sleep 500 +sql use $cdbName + +print == create consume info table and consume result table for ctb +sql create table consumeinfo (ts timestamp, consumerid int, topiclist binary(1024), keylist binary(1024), expectmsgcnt bigint, ifcheckdata int) +sql create table consumeresult (ts timestamp, consumerid int, consummsgcnt bigint, consumrowcnt bigint, checkresult int) + +sql show tables +if $rows != 2 then + return -1 +endi +####################################################################################### + + +print ================ test consume from ctb +print == overlap toipcs: topic_ctb_column + topic_ctb_all, topic_ctb_function + topic_ctb_all +$topicList = ' . topic_ctb_column +$topicList = $topicList . , +$topicList = $topicList . topic_ctb_all +$topicList = $topicList . ' +$consumerId = 0 + +$totalMsgOfOneTopic = $rowsPerCtb +$totalMsgOfCtb = $totalMsgOfOneTopic * $topicNum +$expectmsgcnt = $totalMsgOfCtb +sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) + +$topicList = ' . topic_ctb_function +$topicList = $topicList . , +$topicList = $topicList . topic_ctb_all +$topicList = $topicList . ' +$consumerId = 1 +sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) + +print == start consumer to pull msgs from ctb +print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start +system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start + +print == check consume result +wait_consumer_end_from_ctb: +sql select * from consumeresult +print ==> rows: $rows +print ==> rows[0]: $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6] +print ==> rows[1]: $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4] $data[1][5] $data[1][6] +if $rows != 2 then + sleep 1000 + goto wait_consumer_end_from_ctb +endi +if $data[0][1] == 0 then + if $data[1][1] != 1 then + return -1 + endi +endi +if $data[0][1] == 1 then + if $data[1][1] != 0 then + return -1 + endi +endi + +# either $data[0][2] $totalMsgOfOneTopic and $data[1][2] == $totalMsgOfCtb +# or $data[0][2] $totalMsgOfCtb and $data[1][2] == $totalMsgOfOneTopic +if $data[0][2] == $totalMsgOfOneTopic then + if $data[1][2] == $totalMsgOfCtb then + goto check_ok_0 + endi +elif $data[1][2] == $totalMsgOfOneTopic then + if $data[0][2] == $totalMsgOfCtb then + goto check_ok_0 + endi +endi +return -1 +check_ok_0: + +if $data[0][3] == $totalMsgOfOneTopic then + if $data[1][3] == $totalMsgOfCtb then + goto check_ok_1 + endi +elif $data[1][3] == $totalMsgOfOneTopic then + if $data[0][3] == $totalMsgOfCtb then + goto check_ok_1 + endi +endi +return -1 +check_ok_1: + +####################################################################################### +# clear consume info and consume result +#run tsim/tmq/clearConsume.sim +# because drop table function no stable, so by create new db for consume info and result. Modify it later +$cdbName = cdb2 +sql create database $cdbName vgroups 1 +sleep 500 +sql use $cdbName + +print == create consume info table and consume result table for ntb +sql create table consumeinfo (ts timestamp, consumerid int, topiclist binary(1024), keylist binary(1024), expectmsgcnt bigint, ifcheckdata int) +sql create table consumeresult (ts timestamp, consumerid int, consummsgcnt bigint, consumrowcnt bigint, checkresult int) + +sql show tables +if $rows != 2 then + return -1 +endi +####################################################################################### + + +print ================ test consume from ntb +print == overlap toipcs: topic_ntb_column + topic_ntb_all, topic_ntb_function + topic_ntb_all +$topicList = ' . topic_ntb_column +$topicList = $topicList . , +$topicList = $topicList . topic_ntb_all +$topicList = $topicList . ' + +$consumerId = 0 +$totalMsgOfOneTopic = $rowsPerCtb +$totalMsgOfNtb = $totalMsgOfOneTopic * $topicNum +$expectmsgcnt = $totalMsgOfNtb +sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) + + +$topicList = ' . topic_ntb_function +$topicList = $topicList . , +$topicList = $topicList . topic_ntb_all +$topicList = $topicList . ' +$consumerId = 1 +sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) + +print == start consumer to pull msgs from ntb +print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start +system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start + +print == check consume result from ntb +wait_consumer_end_from_ntb: +sql select * from consumeresult +print ==> rows: $rows +print ==> rows[0]: $data[0][0] $data[0][1] $data[0][2] $data[0][3] $data[0][4] $data[0][5] $data[0][6] +print ==> rows[1]: $data[1][0] $data[1][1] $data[1][2] $data[1][3] $data[1][4] $data[1][5] $data[1][6] +if $rows != 2 then + sleep 1000 + goto wait_consumer_end_from_ctb +endi +if $data[0][1] == 0 then + if $data[1][1] != 1 then + return -1 + endi +endi +if $data[0][1] == 1 then + if $data[1][1] != 0 then + return -1 + endi +endi + +# either $data[0][2] $totalMsgOfOneTopic and $data[1][2] == $totalMsgOfNtb +# or $data[0][2] $totalMsgOfNtb and $data[1][2] == $totalMsgOfOneTopic +if $data[0][2] == $totalMsgOfOneTopic then + if $data[1][2] == $totalMsgOfNtb then + goto check_ok_2 + endi +elif $data[1][2] == $totalMsgOfOneTopic then + if $data[0][2] == $totalMsgOfNtb then + goto check_ok_2 + endi +endi +return -1 +check_ok_2: + +if $data[0][3] == $totalMsgOfOneTopic then + if $data[1][3] == $totalMsgOfNtb then + goto check_ok_3 + endi +elif $data[1][3] == $totalMsgOfOneTopic then + if $data[0][3] == $totalMsgOfNtb then + goto check_ok_3 + endi +endi +return -1 +check_ok_3: + +#------ not need stop consumer, because it exit after pull msg overthan expect msg +#system tsim/tmq/consume.sh -s stop -x SIGINT + +system sh/exec.sh -n dnode1 -s stop -x SIGINT diff --git a/tests/script/tsim/tmq/basic3.sim b/tests/script/tsim/tmq/basic3.sim index 7a0ee6f917..c0ba2c97fb 100644 --- a/tests/script/tsim/tmq/basic3.sim +++ b/tests/script/tsim/tmq/basic3.sim @@ -175,7 +175,7 @@ $totalMsgOfCtb = $rowsPerCtb $expectmsgcnt = $totalMsgOfCtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ctb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start @@ -246,7 +246,7 @@ $totalMsgOfNtb = $rowsPerCtb $expectmsgcnt = $totalMsgOfNtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ntb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start diff --git a/tests/script/tsim/tmq/basic3Of2Cons.sim b/tests/script/tsim/tmq/basic3Of2Cons.sim index b097617326..bf640ae1a1 100644 --- a/tests/script/tsim/tmq/basic3Of2Cons.sim +++ b/tests/script/tsim/tmq/basic3Of2Cons.sim @@ -145,6 +145,12 @@ if $data[1][2] >= $expectmsgcnt then return -1 endi +$sumOfMsgCnt = $data[0][2] + $data[1][2] +if $sumOfMsgCnt != $expectmsgcnt then + return -1 +endi + + if $data[0][3] <= 0 then return -1 endi @@ -158,6 +164,12 @@ endi if $data[1][3] >= $expectmsgcnt then return -1 endi + +$sumOfMsgRows = $data[0][3] + $data[1][3] +if $sumOfMsgRows != $expectmsgcnt then + return -1 +endi + $loop_cnt = $loop_cnt + 1 goto loop_consume_diff_topic_from_stb loop_consume_diff_topic_from_stb_end: @@ -234,39 +246,32 @@ if $data[0][1] == 1 then endi endi -if $data[0][2] != $totalMsgOfCtb then - if $data[1][2] != $totalMsgOfCtb then - return -1 +# either $data[0][2] == $totalMsgOfCtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfCtb +if $data[0][2] == $totalMsgOfCtb then + if $data[1][2] == 0 then + goto check_ok_0 endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfCtb then - if $data[0][2] != $totalMsgOfCtb then - return -1 - endi - if $data[1][2] != 0 then - return -1 +elif $data[1][2] == $totalMsgOfCtb then + if $data[0][2] == 0 then + goto check_ok_0 endi endi +return -1 +check_ok_0: -if $data[0][3] != $totalMsgOfCtb then - if $data[1][3] != $totalMsgOfCtb then - return -1 +if $data[0][3] == $totalMsgOfCtb then + if $data[1][3] == 0 then + goto check_ok_1 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfCtb then - if $data[0][3] != $totalMsgOfCtb then - return -1 +elif $data[1][3] == $totalMsgOfCtb then + if $data[0][3] == 0 then + goto check_ok_1 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_1: + $loop_cnt = $loop_cnt + 1 goto loop_consume_diff_topic_from_ctb loop_consume_diff_topic_from_ctb_end: @@ -343,39 +348,32 @@ if $data[1][1] == 0 then endi endi -if $data[0][2] != $totalMsgOfNtb then - if $data[1][2] != $totalMsgOfNtb then - return -1 +# either $data[0][2] == $totalMsgOfNtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfNtb +if $data[0][2] == $totalMsgOfNtb then + if $data[1][2] == 0 then + goto check_ok_2 endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfNtb then - if $data[0][2] != $totalMsgOfNtb then - return -1 - endi - if $data[1][2] != 0 then - return -1 +elif $data[1][2] == $totalMsgOfNtb then + if $data[0][2] == 0 then + goto check_ok_2 endi endi +return -1 +check_ok_2: -if $data[0][3] != $totalMsgOfNtb then - if $data[1][3] != $totalMsgOfNtb then - return -1 +if $data[0][3] == $totalMsgOfNtb then + if $data[1][3] == 0 then + goto check_ok_3 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfNtb then - if $data[0][3] != $totalMsgOfNtb then - return -1 +elif $data[1][3] == $totalMsgOfNtb then + if $data[0][3] == 0 then + goto check_ok_3 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_3: + $loop_cnt = $loop_cnt + 1 goto loop_consume_diff_topic_from_ntb loop_consume_diff_topic_from_ntb_end: diff --git a/tests/script/tsim/tmq/basic4.sim b/tests/script/tsim/tmq/basic4.sim index 1af02751b1..1eed93463c 100644 --- a/tests/script/tsim/tmq/basic4.sim +++ b/tests/script/tsim/tmq/basic4.sim @@ -130,7 +130,7 @@ $totalMsgOfCtb = $rowsPerCtb * $topicNum $expectmsgcnt = $totalMsgOfCtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ctb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start @@ -187,7 +187,7 @@ $totalMsgOfNtb = $rowsPerCtb * $topicNum $expectmsgcnt = $totalMsgOfNtb sql insert into consumeinfo values (now , $consumerId , $topicList , $keyList , $expectmsgcnt , $ifcheckdata ) -print == start consumer to pull msgs from stb +print == start consumer to pull msgs from ntb print == tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -s start system tsim/tmq/consume.sh -d $dbName -y $pullDelay -g $showMsg -r $showRow -w $cdbName -s start diff --git a/tests/script/tsim/tmq/basic4Of2Cons.sim b/tests/script/tsim/tmq/basic4Of2Cons.sim index 75868bd974..a17d8a2f45 100644 --- a/tests/script/tsim/tmq/basic4Of2Cons.sim +++ b/tests/script/tsim/tmq/basic4Of2Cons.sim @@ -114,6 +114,11 @@ if $data[1][2] >= $expectmsgcnt then return -1 endi +$sumOfConsMsg = $data[0][2] + $data[1][2] +if $sumOfConsMsg != $expectmsgcnt then + return -1 +endi + if $data[0][3] <= 0 then return -1 endi @@ -128,6 +133,11 @@ if $data[1][3] >= $expectmsgcnt then return -1 endi +$sumOfConsRow = $data[0][3] + $data[1][3] +if $sumOfConsRow != $expectmsgcnt then + return -1 +endi + ####################################################################################### # clear consume info and consume result #run tsim/tmq/clearConsume.sim @@ -189,39 +199,32 @@ if $data[0][1] == 1 then endi endi -if $data[0][2] != $totalMsgOfCtb then - if $data[1][2] != $totalMsgOfCtb then - return -1 - endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfCtb then - if $data[0][2] != $totalMsgOfCtb then - return -1 +# either $data[0][2] == $totalMsgOfCtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfCtb +if $data[0][2] == $totalMsgOfCtb then + if $data[1][2] == 0 then + goto check_ok_0 endi - if $data[1][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfCtb then + goto check_ok_0 endi endi +return -1 +check_ok_0: -if $data[0][3] != $totalMsgOfCtb then - if $data[1][3] != $totalMsgOfCtb then - return -1 +if $data[0][3] == $totalMsgOfCtb then + if $data[1][3] == 0 then + goto check_ok_1 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfCtb then - if $data[0][3] != $totalMsgOfCtb then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfCtb then + goto check_ok_1 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_1: + ####################################################################################### # clear consume info and consume result @@ -284,39 +287,31 @@ if $data[1][1] == 0 then endi endi -if $data[0][2] != $totalMsgOfNtb then - if $data[1][2] != $totalMsgOfNtb then - return -1 +# either $data[0][2] == $totalMsgOfNtb and $data[1][2] == 0 +# or $data[0][2] == 0 and $data[1][2] == $totalMsgOfNtb +if $data[0][2] == $totalMsgOfNtb then + if $data[1][2] == 0 then + goto check_ok_2 endi - if $data[0][2] != 0 then - return -1 - endi -endi -if $data[1][2] != $totalMsgOfNtb then - if $data[0][2] != $totalMsgOfNtb then - return -1 - endi - if $data[1][2] != 0 then - return -1 +elif $data[0][2] == 0 then + if $data[1][2] == $totalMsgOfNtb then + goto check_ok_2 endi endi +return -1 +check_ok_2: -if $data[0][3] != $totalMsgOfNtb then - if $data[1][3] != $totalMsgOfNtb then - return -1 +if $data[0][3] == $totalMsgOfNtb then + if $data[1][3] == 0 then + goto check_ok_3 endi - if $data[0][3] != 0 then - return -1 - endi -endi -if $data[1][3] != $totalMsgOfNtb then - if $data[0][3] != $totalMsgOfNtb then - return -1 +elif $data[0][3] == 0 then + if $data[1][3] == $totalMsgOfNtb then + goto check_ok_3 endi - if $data[1][3] != 0 then - return -1 - endi endi +return -1 +check_ok_3: #------ not need stop consumer, because it exit after pull msg overthan expect msg #system tsim/tmq/consume.sh -s stop -x SIGINT -- GitLab