From: "Максим Корякшин via Tarantool-patches" <tarantool-patches@dev.tarantool.org> To: "Sergey Kaplun" <skaplun@tarantool.org> Cc: "Maxim Kokryashkin" <max.kokryashkin@gmail.com>, tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH luajit v2] test: adapt disabled tests from PUC-Rio Date: Fri, 21 Jan 2022 14:41:05 +0300 [thread overview] Message-ID: <1642765265.228458223@f472.i.mail.ru> (raw) In-Reply-To: <YbtVebl5/148xMga@root> [-- Attachment #1: Type: text/plain, Size: 9215 bytes --] Hi, Sergey! Thanks for the review! New commit message with your comments in mind: ========================================================= test: adapt disabled tests from PUC-Rio Version and status are printed in stdout instead of 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: |$ luajit |> = (6*2-6) -- === |6 | |$ tarantool |tarantool> = (6*2-6) -- === |--- |- error: ' (6*2-6) -- ===:1: unexpected symbol near ''=''' |... Part of tarantool/tarantool#5870 Resolves tarantool/tarantool#5687 ========================================================= And here is the diff: ========================================================= diff --git a/test/PUC-Rio-Lua-5.1-tests/main.lua b/test/PUC-Rio-Lua-5.1-tests/main.lua index 38111560..9c1e5fa4 100644 --- a/test/PUC-Rio-Lua-5.1-tests/main.lua +++ b/test/PUC-Rio-Lua-5.1-tests/main.lua @@ -139,8 +139,9 @@ prepfile[[ RUN("lua - < %s > %s", prog, out) checkout("1\tnil\n") --- FIXME: The following chunk is disabled for Tarantool since its interactive --- shell doesn't support '=' at the beginning of statements. +-- FIXME: The following chunk is disabled for Tarantool since +-- its interactive shell doesn't support '=' at the beginning +-- of statements. -- Here is an example: -- $ luajit -- LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/ @@ -202,7 +203,7 @@ assert( a == b ) prepfile(s) RUN([[lua -e"_PROMPT='' _PROMPT2=''" -i < %s > %s]], prog, out) checkprogout("11\n1\t2\n\n") -end +end -- not _TARANTOOL prepfile[[#comment in 1st line without \n at the end]] RUN("lua %s", prog) ========================================================= New CI branch: https://github.com/tarantool/tarantool/tree/fckxorg/gh-5687-adapt-disabled-tests-from-PUC-Rio-full-ci Best regards, Maxim Kokryashkin > >>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 > [-- Attachment #2: Type: text/html, Size: 11822 bytes --]
next prev parent reply other threads:[~2022-01-21 11:41 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 2022-01-21 11:41 ` Максим Корякшин via Tarantool-patches [this message] 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=1642765265.228458223@f472.i.mail.ru \ --to=tarantool-patches@dev.tarantool.org \ --cc=m.kokryashkin@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