[tarantool-patches] [PATCH v2] Add the common routine to check streams status

avtikhon avtikhon at tarantool.org
Tue Apr 16 18:16:47 MSK 2019


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





More information about the Tarantool-patches mailing list