Tarantool development patches archive
 help / color / mirror / Atom feed
From: Maxim Kokryashkin via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: "Igor Munkin" <imun@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org
Subject: Re: [Tarantool-patches]  [PATCH luajit 3/5] test: introduce test:skipall TAP helper
Date: Tue, 28 Feb 2023 10:51:10 +0300	[thread overview]
Message-ID: <1677570670.756422405@f552.i.mail.ru> (raw)
In-Reply-To: <2b510bb3d602fb66b7ee0310ca027f9e8be66480.1677236706.git.imun@tarantool.org>

[-- Attachment #1: Type: text/plain, Size: 3045 bytes --]


Hi, Igor!
Thanks for the patch!
LGTM, except for a few nits regarding the commit message.
 
> 
>>Sometimes one need to skip all tests in the script. TAP13 protocol
>Typo: s/TAP 13/The TAP 13/
>>supports this via the following line:
>>| 1..0 # SKIP <reason>
>>
>>Within this commit <test:skipall> helper is introduced that yields the
>>aforementined line to the TAP consumer and exits the test script. It's
>>worth to mention, that skipall helper is implemented only for root (i.e.
>Typo: s/worth to mention/worth mentioning/
>>test with no parent) tests and subtests are not supported at the moment.
>>The corresponding assertion with FIXME reason is added to <finalize>.
>Typo: s/with/with a/
>>
>>Signed-off-by: Igor Munkin < imun@tarantool.org >
>>---
>> test/tarantool-tests/tap.lua | 23 ++++++++++++++++++++---
>> 1 file changed, 20 insertions(+), 3 deletions(-)
>>
>>diff --git a/test/tarantool-tests/tap.lua b/test/tarantool-tests/tap.lua
>>index a1f54d20..92d59ce9 100644
>>--- a/test/tarantool-tests/tap.lua
>>+++ b/test/tarantool-tests/tap.lua
>>@@ -7,6 +7,12 @@
>> local ffi = require("ffi")
>> local NULL = ffi.new("void *")
>> 
>>+local function finalize(test)
>>+ -- TODO: implement finalization for subtests too.
>>+ assert(test.parent == nil, 'FIXME: There is no way to use finalize subtest')
>>+ os.exit(test:check() and 0 or 1)
>>+end
>>+
>> local function indent(level, size)
>>   -- Use the default indent size if none is specified.
>>   size = tonumber(size) or 4
>>@@ -90,6 +96,11 @@ local function skip(test, message, extra)
>>   ok(test, true, message .. " # skip", extra)
>> end
>> 
>>+local function skipall(test, reason)
>>+ test:plan(0, reason)
>>+ finalize(test)
>>+end
>>+
>> local function like(test, got, pattern, message, extra)
>>   extra = extra or {}
>>   extra.got = got
>>@@ -246,7 +257,7 @@ local function new(parent, name, fun, ...)
>>     level = level,
>>     total = 0,
>>     failed = 0,
>>- planned = 0,
>>+ planned = nil,
>>     trace = parent == nil and true or parent.trace,
>>     -- Set test.strict = true if test:is, test:isnt and
>>     -- test:is_deeply must be compared strictly with nil.
>>@@ -266,9 +277,14 @@ local function new(parent, name, fun, ...)
>>   return test:check()
>> end
>> 
>>-local function plan(test, planned)
>>+local function plan(test, planned, reason)
>>+ if test.planned then
>>+ -- Use <plan> call location in the error message.
>>+ error("plan called twice", 2)
>>+ end
>>   test.planned = planned
>>- io.write(indent(test.level), ("1..%d\n"):format(planned))
>>+ local tail = planned == 0 and (" # SKIP %s"):format(reason) or ""
>>+ io.write(indent(test.level), ("1..%d%s\n"):format(planned, tail))
>> end
>> 
>> local function check(test)
>>@@ -313,6 +329,7 @@ test_mt = {
>>     ok = ok,
>>     fail = fail,
>>     skip = skip,
>>+ skipall = skipall,
>>     is = is,
>>     isnt = isnt,
>>     isnil = isnil,
>>--
>>2.30.2
>--
>Best regards,
>Maxim Kokryashkin
> 

[-- Attachment #2: Type: text/html, Size: 4554 bytes --]

  parent reply	other threads:[~2023-02-28  7:51 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-27  9:07 [Tarantool-patches] [PATCH luajit 0/5] Tarantool tests enhancements Igor Munkin via Tarantool-patches
2023-02-27  9:07 ` [Tarantool-patches] [PATCH luajit 1/5] ci: use LuaJIT-test target in testing workflows Igor Munkin via Tarantool-patches
2023-02-27  9:41   ` Sergey Kaplun via Tarantool-patches
2023-02-28  7:42   ` Maxim Kokryashkin via Tarantool-patches
2023-02-27  9:07 ` [Tarantool-patches] [PATCH luajit 2/5] test: stop using utils.selfrun in tests Igor Munkin via Tarantool-patches
2023-02-27 10:08   ` Sergey Kaplun via Tarantool-patches
2023-02-27 18:04     ` Igor Munkin via Tarantool-patches
2023-02-28  7:46       ` Maxim Kokryashkin via Tarantool-patches
2023-02-27  9:07 ` [Tarantool-patches] [PATCH luajit 3/5] test: introduce test:skipall TAP helper Igor Munkin via Tarantool-patches
2023-02-27  9:51   ` Sergey Kaplun via Tarantool-patches
2023-02-27 18:04     ` Igor Munkin via Tarantool-patches
2023-02-28  7:51   ` Maxim Kokryashkin via Tarantool-patches [this message]
2023-02-28 16:26     ` Igor Munkin via Tarantool-patches
2023-02-27  9:07 ` [Tarantool-patches] [PATCH luajit 4/5] test: introduce test:skiprest " Igor Munkin via Tarantool-patches
2023-02-27  9:56   ` Sergey Kaplun via Tarantool-patches
2023-02-27 18:04     ` Igor Munkin via Tarantool-patches
2023-02-28  7:55   ` Maxim Kokryashkin via Tarantool-patches
2023-02-28 16:26     ` Igor Munkin via Tarantool-patches
2023-02-27  9:07 ` [Tarantool-patches] [PATCH luajit 5/5] test: make skipcond helper more convenient Igor Munkin via Tarantool-patches
2023-02-27 10:01   ` Sergey Kaplun via Tarantool-patches
2023-02-28  8:10   ` Maxim Kokryashkin via Tarantool-patches
2023-03-02 17:07 ` [Tarantool-patches] [PATCH luajit 0/5] Tarantool tests enhancements Igor Munkin via Tarantool-patches

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=1677570670.756422405@f552.i.mail.ru \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=m.kokryashkin@tarantool.org \
    --subject='Re: [Tarantool-patches]  [PATCH luajit 3/5] test: introduce test:skipall TAP helper' \
    /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