From: Sergey Kaplun via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: Maxim Kokryashkin <max.kokryashkin@gmail.com> Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH luajit v2] test: adapt disabled tests from PUC-Rio Date: Thu, 16 Dec 2021 18:04:25 +0300 [thread overview] Message-ID: <YbtVebl5/148xMga@root> (raw) In-Reply-To: <20211013155500.2639254-1-m.kokryashkin@tarantool.org> Hi, Maxim! Thanks for the fixes! LGTM, except a few nits below. On 13.10.21, Maxim Kokryashkin wrote: > Version and status are printed in stdout instead stderr > since LuaJIT-2.0.0-beta11 (as it is not an error message). This behavior > is the same as in Lua 5.2, so necessary changes in tests can be > adapted from PUC-Rio Lua 5.2 test suite. > > However, those tests are disabled for Tarantool since its interactive > shell doesn't support '=' at the beginning of statements. > Here is an example: OK, so maybe we should create a ticket for that (and _PROMPT feature)? At least to mention it and wait for thumbs up. Igor, thoughts? > ======================================================================== Nit: it's better to use "|" for quoting in commit messages (I use "===" only for separate iterative diff from the rest part of the mail). See git log 77c4a0747693a2a27745616894943746548df875 for example. But it's just my recommendation.:) Feel free to ignore. > $ luajit > > = (6*2-6) -- === > 6 > > $ tarantool > tarantool> = (6*2-6) -- === > --- > - error: ' (6*2-6) -- ===:1: unexpected symbol near ''=''' > ... > ======================================================================== > > Part of tarantool/tarantool#5870 > --- > Changes in v2: > - Fixed comments as per review by Sergey > - Disabled some tests for Tarantool > - Added link to CI jobs > > Issue: https://github.com/tarantool/tarantool/issues/5687 > Branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-5687-adapt-tests-output-PUC-Rio > CI: https://github.com/tarantool/tarantool/tree/fckxorg/gh-5687-adapt-disabled-tests-from-PUC-Rio > > test/PUC-Rio-Lua-5.1-tests/main.lua | 97 ++++++++++++++++++++--------- > 1 file changed, 66 insertions(+), 31 deletions(-) > > diff --git a/test/PUC-Rio-Lua-5.1-tests/main.lua b/test/PUC-Rio-Lua-5.1-tests/main.lua > index 07facc4c..38111560 100644 > --- a/test/PUC-Rio-Lua-5.1-tests/main.lua > +++ b/test/PUC-Rio-Lua-5.1-tests/main.lua > @@ -24,11 +24,33 @@ local prepfile = function (s, p) > assert(io.close()) > end > > -function checkout (s) > +-- Taken from PUC-Rio Lua 5.2 test suite. > +-- See comment for checkprogout(). > +function getoutput () > io.input(out) > local t = io.read("*a") > io.input():close() > assert(os.remove(out)) > + return t > +end > + > +-- Version and status are printed in stdout instead stderr since > +-- LuaJIT-2.0.0-beta11 (as it is not an error message). > +-- See commit 0bd1a66f2f055211ef55834ccebca3b82d03c735 > +-- (Print version and JIT status to stdout, not stderr.). > +-- This behavior is the same as in Lua 5.2. > +-- See also https://github.com/tarantool/tarantool/issues/5687. > +-- This function is adapted from PUC-Rio Lua 5.2 test suite. > +-- It is used for test commands with -i flag. > +function checkprogout (s) > + local t = getoutput() > + for line in string.gmatch(s, ".-\n") do > + assert(string.find(t, line, 1, true)) > + end > +end > + > +function checkout (s) > + local t = getoutput() > if s ~= t then print(string.format("'%s' - '%s'\n", s, t)) end > assert(s == t) > return t > @@ -117,39 +139,52 @@ prepfile[[ > RUN("lua - < %s > %s", prog, out) > checkout("1\tnil\n") > > --- FIXME: Version and status are printed to stdout instead of > --- stderr since LuaJIT-2.0.0-beta11 (as it is not an error > --- message). See commit 0bd1a66f2f055211ef55834ccebca3b82d03c735 > --- (Print version and JIT status to stdout, not stderr.). > --- This behavior is the same as in Lua 5.2. > --- In Lua 5.2 this feature was introduced via commit > --- 9e7de9473c65baee1f567852a778f2d33a47ea83. > --- See also https://github.com/tarantool/tarantool/issues/5687. > -prepfile[[ > +-- FIXME: The following chunk is disabled for Tarantool since its interactive > +-- shell doesn't support '=' at the beginning of statements. > +-- Here is an example: Minor: linewidth for comments is 66 symbols. (Ignorable for comment with word-for-word quotes below.) > +-- $ luajit > +-- LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/ > +-- JIT: ON SSE2 SSE3 SSE4.1 BMI2 fold cse dce fwd dse narrow loop abc sink fuse > +-- > = (6*2-6) -- === > +-- 6 > + > +-- $ tarantool > +-- Tarantool 2.10.0-beta1-80-g201905544 > +-- type 'help' for interactive help > +-- tarantool> = (6*2-6) -- === > +-- --- > +-- - error: ' (6*2-6) -- ===:1: unexpected symbol near ''=''' > +-- ... > +if not _TARANTOOL then Side note: like this solution much more than just comment out this chunk! > +-- Test is adapted from PUC-Rio Lua 5.2 test suite. > +-- See comment for checkprogout(). > + prepfile[[ > = (6*2-6) -- === > a > = 10 > print(a) > = a]] > --- FIXME: Behavior is different for LuaJIT. See the comment above. > --- RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) > --- checkout("6\n10\n10\n\n") > - > -prepfile("a = [[b\nc\nd\ne]]\n=a") > -print(prog) > --- FIXME: Behavior is different for LuaJIT. See the comment above. > --- RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) > --- checkout("b\nc\nd\ne\n\n") > - > -prompt = "alo" > -prepfile[[ -- > + RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) > + checkprogout("6\n10\n10\n\n") > + > +-- Test is adapted from PUC-Rio Lua 5.2 test suite. > +-- See comment for checkprogout(). > + prepfile("a = [[b\nc\nd\ne]]\n=a") > + print(prog) > + RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) > + checkprogout("b\nc\nd\ne\n\n") > + > +-- Test is adapted from PUC-Rio Lua 5.2 test suite. > +-- See comment for checkprogout(). > + prompt = "alo" > + prepfile[[ -- > a = 2 > ]] > --- FIXME: Behavior is different for LuaJIT. See the comment above. > --- RUN([[lua "-e_PROMPT='%s'" -i < %s > %s]], prompt, prog, out) > --- checkout(string.rep(prompt, 3).."\n") > + RUN([[lua "-e_PROMPT='%s'" -i < %s > %s]], prompt, prog, out) > + local t = getoutput() > + assert(string.find(t, prompt .. ".*" .. prompt .. ".*" .. prompt)) > > -s = [=[ -- > + s = [=[ -- > function f ( x ) > local a = [[ > xuxu > @@ -163,11 +198,11 @@ end > =( f( 10 ) ) > assert( a == b ) > =f( 11 ) ]=] > -s = string.gsub(s, ' ', '\n\n') > -prepfile(s) > --- FIXME: Behavior is different for LuaJIT. See the comment above. > --- RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) > --- checkout("11\n1\t2\n\n") > + s = string.gsub(s, ' ', '\n\n') > + prepfile(s) > + RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) > + checkprogout("11\n1\t2\n\n") > +end It's nothing bad in commenting "-- not _TARANTOOL" for this `end`. Feel free to ignore. > > prepfile[[#comment in 1st line without \n at the end]] > RUN("lua %s", prog) > -- > 2.33.0 > -- Best regards, Sergey Kaplun
next prev parent reply other threads:[~2021-12-16 15:06 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-24 13:58 [Tarantool-patches] [PATCH luajit] " Maxim Kokryashkin via Tarantool-patches 2021-09-24 14:34 ` Максим Корякшин via Tarantool-patches 2021-10-08 8:58 ` Sergey Kaplun via Tarantool-patches 2021-10-13 15:55 ` [Tarantool-patches] [PATCH luajit v2] " Maxim Kokryashkin via Tarantool-patches 2021-12-16 15:04 ` Sergey Kaplun via Tarantool-patches [this message] 2022-01-21 11:41 ` Максим Корякшин via Tarantool-patches 2022-02-16 10:37 ` Igor Munkin via Tarantool-patches 2022-02-16 10:37 ` Igor Munkin via Tarantool-patches 2022-02-17 12:01 ` Maxim Kokryashkin via Tarantool-patches 2022-02-16 10:37 ` Igor Munkin via Tarantool-patches 2021-10-08 8:54 ` [Tarantool-patches] [PATCH luajit] " Sergey Kaplun via Tarantool-patches 2022-02-17 16:38 ` 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=YbtVebl5/148xMga@root \ --to=tarantool-patches@dev.tarantool.org \ --cc=max.kokryashkin@gmail.com \ --cc=skaplun@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH luajit v2] test: adapt disabled tests from PUC-Rio' \ /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