From: avtikhon <avtikhon@tarantool.org> To: alexander.turenko@tarantool.org Cc: avtikhon <avtikhon@tarantool.org>, tarantool-patches@freelists.org Subject: [tarantool-patches] [PATCH v2] Add the common routine to check streams status Date: Tue, 16 Apr 2019 18:16:47 +0300 [thread overview] Message-ID: <75639d11869e2811db22727d20f6b81cbd487d1f.1555427639.git.avtikhon@tarantool.org> (raw) 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
reply other threads:[~2019-04-16 15:16 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=75639d11869e2811db22727d20f6b81cbd487d1f.1555427639.git.avtikhon@tarantool.org \ --to=avtikhon@tarantool.org \ --cc=alexander.turenko@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH v2] Add the common routine to check streams status' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox