Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v2] Add the common routine to check streams status
@ 2019-04-16 15:16 avtikhon
  0 siblings, 0 replies; only message in thread
From: avtikhon @ 2019-04-16 15:16 UTC (permalink / raw)
  To: alexander.turenko; +Cc: avtikhon, tarantool-patches

Added the common routine that checks the upstream
and downstream status. Also added ability to check
the matching of the upstream and downstream messages.

Close #158
---

Github: https://github.com/tarantool/test-run/tree/avtikhon/gh-158-wait-id-status
Issue: https://github.com/tarantool/test-run/issues/158

 test_run.lua | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/test_run.lua b/test_run.lua
index 42d5e56..35dace4 100644
--- a/test_run.lua
+++ b/test_run.lua
@@ -227,6 +227,40 @@ local function switch(self, node)
     return self:cmd(switch_cmd3:format(node))
 end
 
+local function wait_status(self, id, status)
+    return self:wait_cond(function() return id.status == status end) or id.status
+end
+
+local function wait_message(self, id, message)
+    return self:wait_cond(function() return id.message:match(message) end) or id.message
+end
+
+local function wait_downstream(self, id, status, message)
+    if status ~= nil then
+        if message ~= nil then
+            return self:wait_message(id.downstream, message)
+	        and self:wait_status(id.downstream, status)
+        end
+        return self:wait_status(id.downstream, status)
+    end
+    if message ~= nil then
+        return self:wait_message(id.downstream, message)
+    end
+end
+
+local function wait_upstream(self, id, status, message)
+    if status ~= nil then
+        if message ~= nil then
+            return self:wait_message(id.upstream, message)
+	        and self:wait_status(id.upstream, status)
+        end
+        return self:wait_status(id.upstream, status)
+    end
+    if message ~= nil then
+        return self:wait_message(id.upstream, message)
+    end
+end
+
 local get_cfg_cmd = 'config %s'
 
 local function get_cfg(self, name)
@@ -360,6 +394,10 @@ local inspector_methods = {
     wait_fullmesh = wait_fullmesh,
     get_cluster_vclock = get_cluster_vclock,
     wait_cluster_vclock = wait_cluster_vclock,
+    wait_status = wait_status,
+    wait_message = wait_message,
+    wait_downstream = wait_downstream,
+    wait_upstream = wait_upstream,
     --
     grep_log = grep_log,
     wait_cond = wait_cond,
-- 
2.17.1

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-04-16 15:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-16 15:16 [tarantool-patches] [PATCH v2] Add the common routine to check streams status avtikhon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox