Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v1 0/2] Correct luajit tests
@ 2019-12-16  8:43 Alexander V. Tikhonov
  2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code Alexander V. Tikhonov
  2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 2/2] test: rename test files Alexander V. Tikhonov
  0 siblings, 2 replies; 7+ messages in thread
From: Alexander V. Tikhonov @ 2019-12-16  8:43 UTC (permalink / raw)
  To: Alexander Turenko; +Cc: tarantool-patches

    test: fix style and code
    
    Renamed test files in the following way:
    [gh-[external repo]-<number>-]comment.test.lua
    where "external repo" is github repository:
      lj - luajit/luajit
      lrc - openresty/lua-resty-core
    
    Added local definitions for the variables, added os.exit()
    routine at the tests finish. Changed added information messages
    to test:ok() calls.
    
    Close #4655

Github: https://github.com/tarantool/luajit/tree/avtikhon/gh-4655-cleanup-tests
Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4655-cleanup-tests
Issue: https://github.com/tarantool/tarantool/issues/4655

Alexander V. Tikhonov (2):
  test: cleanup tests code
  test: rename test files

 test/fix_string_find_recording.test.lua       |  6 ++---
 ... gh-3196-incorrect-string-length.test.lua} |  8 +++----
 ...st.lua => gh-4560-pairsmm-is-set.test.lua} |  8 ++++---
 ...t.lua => gh-lj-494-infinite-loop.test.lua} | 23 ++++++++++---------
 ...gh-lj-505-fold-icorrect-behavior.test.lua} |  7 +++---
 ...gh-lj-524-fold-icorrect-behavior.test.lua} |  2 +-
 ....lua => gh-lrc-64-unsink-64-kptr.test.lua} |  7 +++---
 7 files changed, 33 insertions(+), 28 deletions(-)
 rename test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua} (60%)
 rename test/{pairsmm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} (90%)
 rename test/{table_chain_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} (90%)
 rename test/{fold_bug_LuaJIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} (75%)
 rename test/{fold_bug_LuaJIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} (94%)
 rename test/{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} (88%)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code
  2019-12-16  8:43 [Tarantool-patches] [PATCH v1 0/2] Correct luajit tests Alexander V. Tikhonov
@ 2019-12-16  8:43 ` Alexander V. Tikhonov
  2020-01-13 12:04   ` Igor Munkin
  2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 2/2] test: rename test files Alexander V. Tikhonov
  1 sibling, 1 reply; 7+ messages in thread
From: Alexander V. Tikhonov @ 2019-12-16  8:43 UTC (permalink / raw)
  To: Alexander Turenko; +Cc: tarantool-patches

Added local definitions for the variables, added os.exit()
routine at the tests finish. Changed added information messages
to test:ok() calls.

Part of #4655
---
 test/fix_string_find_recording.test.lua  |  6 +++---
 test/fold_bug_LuaJIT_505.test.lua        |  7 ++++---
 test/fold_bug_LuaJIT_524.test.lua        |  2 +-
 test/gh.test.lua                         |  8 ++++----
 test/pairsmm_tarantool_4560.test.lua     |  8 +++++---
 test/table_chain_bug_LuaJIT_494.test.lua | 23 ++++++++++++-----------
 test/unsink_64_kptr.test.lua             |  7 ++++---
 7 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/test/fix_string_find_recording.test.lua b/test/fix_string_find_recording.test.lua
index d3fc9e1..911e611 100755
--- a/test/fix_string_find_recording.test.lua
+++ b/test/fix_string_find_recording.test.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 
-tap = require('tap')
+local tap = require('tap')
 
-test = tap.test("fix-string-find-recording")
+local test = tap.test("fix-string-find-recording")
 test:plan(1)
 
 local err = [[module 'kit.1.10.3-136' not found:
@@ -76,4 +76,4 @@ until not e
 
 test:is(count_vm, count_jit)
 
-test:check()
+os.exit(test:check() and 0 or 1)
diff --git a/test/fold_bug_LuaJIT_505.test.lua b/test/fold_bug_LuaJIT_505.test.lua
index 2fee069..433efb0 100755
--- a/test/fold_bug_LuaJIT_505.test.lua
+++ b/test/fold_bug_LuaJIT_505.test.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 
-tap = require('tap')
+local tap = require('tap')
 
-test = tap.test("505")
+local test = tap.test("505")
 test:plan(1)
 
 -- Test file to demonstrate Lua fold machinery icorrect behavior, details:
@@ -16,5 +16,6 @@ for _ = 1, 20 do
     local pos_b = string.find(value2, "b", 2, true)
     assert(pos_b == 2, "FAIL: position of 'b' is " .. pos_b)
 end
+test:ok(true, "LuaJIT/LuaJIT gh-505 assert not occured")
 
-test:ok("PASS")
+os.exit(test:check() and 0 or 1)
diff --git a/test/fold_bug_LuaJIT_524.test.lua b/test/fold_bug_LuaJIT_524.test.lua
index b056684..c8cc7b0 100755
--- a/test/fold_bug_LuaJIT_524.test.lua
+++ b/test/fold_bug_LuaJIT_524.test.lua
@@ -21,4 +21,4 @@ end
 
 test:is(tonumber(sq), math.fmod(math.pow(42, 8), math.pow(2, 32)))
 
-test:check()
+os.exit(test:check() and 0 or 1)
diff --git a/test/gh.test.lua b/test/gh.test.lua
index 00b71a6..2804d35 100755
--- a/test/gh.test.lua
+++ b/test/gh.test.lua
@@ -1,17 +1,17 @@
 #!/usr/bin/env tarantool
 
 -- Miscellaneous test for LuaJIT bugs
-tap = require('tap')
+local tap = require('tap')
 
-test = tap.test("gh")
+local test = tap.test("gh")
 test:plan(2)
 --
 -- gh-3196: incorrect string length if Lua hash returns 0
 --
-h = "\x1F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
+local h = "\x1F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
 test:is(h:len(), 20)
 
 h = "\x0F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
 test:is(h:len(), 20)
 
-test:check()
+os.exit(test:check() and 0 or 1)
diff --git a/test/pairsmm_tarantool_4560.test.lua b/test/pairsmm_tarantool_4560.test.lua
index bb9835d..f8cf0bb 100755
--- a/test/pairsmm_tarantool_4560.test.lua
+++ b/test/pairsmm_tarantool_4560.test.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 
-tap = require('tap')
+local tap = require('tap')
 
-test = tap.test("PAIRSMM-is-set")
+local test = tap.test("PAIRSMM-is-set")
 test:plan(2)
 
 -- There is no Lua way to detect whether LJ_PAIRSMM is enabled. However, in
@@ -46,5 +46,7 @@ for k, v in ipairs(t) do
     ipairs_res = v + ipairs_res
 end
 test:is(pairs_res + ipairs_res, 0)
-os_exec_res = os.execute()
+local os_exec_res = os.execute()
 test:is(os_exec_res, 1)
+
+os.exit(test:check() and 0 or 1)
diff --git a/test/table_chain_bug_LuaJIT_494.test.lua b/test/table_chain_bug_LuaJIT_494.test.lua
index 06c0f0d..85df8e0 100755
--- a/test/table_chain_bug_LuaJIT_494.test.lua
+++ b/test/table_chain_bug_LuaJIT_494.test.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 
-tap = require('tap')
+local tap = require('tap')
 
-test = tap.test("494")
+local test = tap.test("494")
 test:plan(1)
 
 -- Test file to demonstrate Lua table hash chain bugs discussed in
@@ -11,19 +11,19 @@ test:plan(1)
 --     https://gist.github.com/corsix/1fc9b13a2dd5f3659417b62dd54d4500
 
 --- Plumbing
-ffi = require"ffi"
-ffi.cdef"char* strstr(const char*, const char*)"
-strstr = ffi.C.strstr
-cast = ffi.cast
-str_hash_offset = cast("uint32_t*", strstr("*", ""))[-2] == 1 and 3 or 2
+local ffi = require("ffi")
+ffi.cdef("char* strstr(const char*, const char*)")
+local strstr = ffi.C.strstr
+local cast = ffi.cast
+local str_hash_offset = cast("uint32_t*", strstr("*", ""))[-2] == 1 and 3 or 2
 function str_hash(s)
     return cast("uint32_t*", strstr(s, "")) - str_hash_offset
 end
-table_new = require"table.new"
+local table_new = require("table.new")
 
 --- Prepare some objects
-victims = {}
-orig_hash = {}
+local victims = {}
+local orig_hash = {}
 for c in ("abcdef"):gmatch"." do
     v = c .. "{09add58a-13a4-44e0-a52c-d44d0f9b2b95}"
     victims[c] = v
@@ -174,5 +174,6 @@ collectgarbage()
 for c, v in pairs(victims) do
     str_hash(v)[0] = orig_hash[c]
 end
+test:ok(true, "LuaJIT/LuaJIT gh-494 successfully checked commit a7dc9e8d23315217c9fe0029bc8ae12c03306b33")
 
-test:ok("PASS")
+os.exit(test:check() and 0 or 1)
diff --git a/test/unsink_64_kptr.test.lua b/test/unsink_64_kptr.test.lua
index 8995763..d01ddc6 100755
--- a/test/unsink_64_kptr.test.lua
+++ b/test/unsink_64_kptr.test.lua
@@ -1,8 +1,8 @@
 #!/usr/bin/env tarantool
 
-tap = require('tap')
+local tap = require('tap')
 
-test = tap.test("232")
+local test = tap.test("232")
 test:plan(1)
 
 --- From: Thibault Charbonnier <thibaultcha@me.com>
@@ -40,5 +40,6 @@ end
 for i = 1, 1000 do
     fn(i)
 end
+test:ok(true, "openresty-lua/resty-core gh-232 allowed its address to be inlined")
 
-test:ok("PASS")
+os.exit(test:check() and 0 or 1)
-- 
2.17.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Tarantool-patches] [PATCH v1 2/2] test: rename test files
  2019-12-16  8:43 [Tarantool-patches] [PATCH v1 0/2] Correct luajit tests Alexander V. Tikhonov
  2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code Alexander V. Tikhonov
@ 2019-12-16  8:43 ` Alexander V. Tikhonov
  2020-01-13 12:05   ` Igor Munkin
  1 sibling, 1 reply; 7+ messages in thread
From: Alexander V. Tikhonov @ 2019-12-16  8:43 UTC (permalink / raw)
  To: Alexander Turenko; +Cc: tarantool-patches

Renamed test files in the following way:
[gh-[external repo]-<number>-]comment.test.lua
where "external repo" is github repository:
  lj - luajit/luajit
  lrc - openresty/lua-resty-core

Close #4655
---
 test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua}    | 0
 ...mm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} | 0
 ...n_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} | 0
 ...JIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} | 0
 ...JIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} | 0
 ...{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} | 0
 6 files changed, 0 insertions(+), 0 deletions(-)
 rename test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua} (100%)
 rename test/{pairsmm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} (100%)
 rename test/{table_chain_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} (100%)
 rename test/{fold_bug_LuaJIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} (100%)
 rename test/{fold_bug_LuaJIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} (100%)
 rename test/{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} (100%)

diff --git a/test/gh.test.lua b/test/gh-3196-incorrect-string-length.test.lua
similarity index 100%
rename from test/gh.test.lua
rename to test/gh-3196-incorrect-string-length.test.lua
diff --git a/test/pairsmm_tarantool_4560.test.lua b/test/gh-4560-pairsmm-is-set.test.lua
similarity index 100%
rename from test/pairsmm_tarantool_4560.test.lua
rename to test/gh-4560-pairsmm-is-set.test.lua
diff --git a/test/table_chain_bug_LuaJIT_494.test.lua b/test/gh-lj-494-infinite-loop.test.lua
similarity index 100%
rename from test/table_chain_bug_LuaJIT_494.test.lua
rename to test/gh-lj-494-infinite-loop.test.lua
diff --git a/test/fold_bug_LuaJIT_505.test.lua b/test/gh-lj-505-fold-icorrect-behavior.test.lua
similarity index 100%
rename from test/fold_bug_LuaJIT_505.test.lua
rename to test/gh-lj-505-fold-icorrect-behavior.test.lua
diff --git a/test/fold_bug_LuaJIT_524.test.lua b/test/gh-lj-524-fold-icorrect-behavior.test.lua
similarity index 100%
rename from test/fold_bug_LuaJIT_524.test.lua
rename to test/gh-lj-524-fold-icorrect-behavior.test.lua
diff --git a/test/unsink_64_kptr.test.lua b/test/gh-lrc-64-unsink-64-kptr.test.lua
similarity index 100%
rename from test/unsink_64_kptr.test.lua
rename to test/gh-lrc-64-unsink-64-kptr.test.lua
-- 
2.17.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code
  2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code Alexander V. Tikhonov
@ 2020-01-13 12:04   ` Igor Munkin
  2020-02-27 13:38     ` Alexander Tikhonov
  0 siblings, 1 reply; 7+ messages in thread
From: Igor Munkin @ 2020-01-13 12:04 UTC (permalink / raw)
  To: Alexander V. Tikhonov; +Cc: tarantool-patches

Sasha,

Thanks for the patch! I left several comments below, please consider
them.

On 16.12.19, Alexander V. Tikhonov wrote:
> Added local definitions for the variables, added os.exit()
> routine at the tests finish. Changed added information messages
> to test:ok() calls.

IMHO bullet list is a way more readable for listing the changes.

> 
> Part of #4655
> ---
>  test/fix_string_find_recording.test.lua  |  6 +++---
>  test/fold_bug_LuaJIT_505.test.lua        |  7 ++++---
>  test/fold_bug_LuaJIT_524.test.lua        |  2 +-
>  test/gh.test.lua                         |  8 ++++----
>  test/pairsmm_tarantool_4560.test.lua     |  8 +++++---
>  test/table_chain_bug_LuaJIT_494.test.lua | 23 ++++++++++++-----------
>  test/unsink_64_kptr.test.lua             |  7 ++++---
>  7 files changed, 33 insertions(+), 28 deletions(-)

General comments:
* Feel free to enhance the existing test names passed to tap.test:
| $ grep -rF 'tap.test'
| table_chain_bug_LuaJIT_494.test.lua:local test = tap.test("494")
| fix_string_find_recording.test.lua:local test =
| tap.test("fix-string-find-recording")
| gh.test.lua:local test = tap.test("gh")
| pairsmm_tarantool_4560.test.lua:local test = tap.test("PAIRSMM-is-set")
| fold_bug_LuaJIT_505.test.lua:local test = tap.test("505")
| fold_bug_LuaJIT_524.test.lua:local test = tap.test("LuaJIT 524")
| unsink_64_kptr.test.lua:local test = tap.test("232")
* It's a good idea to add more verbose description, but the new ones
  still don't make sense to me:
| $ grep -rnF 'test:ok'
| table_chain_bug_LuaJIT_494.test.lua:177:test:ok(true, "LuaJIT/LuaJIT gh-494 successfully checked commit a7dc9e8d23315217c9fe0029bc8ae12c03306b33")
| fold_bug_LuaJIT_505.test.lua:19:test:ok(true, "LuaJIT/LuaJIT gh-505 assert not occured")
| unsink_64_kptr.test.lua:43:test:ok(true, "openresty-lua/resty-core gh-232 allowed its address to be inlined")

> 
> diff --git a/test/fix_string_find_recording.test.lua b/test/fix_string_find_recording.test.lua
> index d3fc9e1..911e611 100755
> --- a/test/fix_string_find_recording.test.lua
> +++ b/test/fix_string_find_recording.test.lua
> @@ -1,8 +1,8 @@
>  #!/usr/bin/env tarantool
>  
> -tap = require('tap')
> +local tap = require('tap')
>  
> -test = tap.test("fix-string-find-recording")
> +local test = tap.test("fix-string-find-recording")
>  test:plan(1)
>  
>  local err = [[module 'kit.1.10.3-136' not found:
> @@ -76,4 +76,4 @@ until not e
>  
>  test:is(count_vm, count_jit)
>  
> -test:check()
> +os.exit(test:check() and 0 or 1)
> diff --git a/test/fold_bug_LuaJIT_505.test.lua b/test/fold_bug_LuaJIT_505.test.lua
> index 2fee069..433efb0 100755
> --- a/test/fold_bug_LuaJIT_505.test.lua
> +++ b/test/fold_bug_LuaJIT_505.test.lua
> @@ -1,8 +1,8 @@
>  #!/usr/bin/env tarantool
>  
> -tap = require('tap')
> +local tap = require('tap')
>  
> -test = tap.test("505")
> +local test = tap.test("505")
>  test:plan(1)
>  
>  -- Test file to demonstrate Lua fold machinery icorrect behavior, details:
> @@ -16,5 +16,6 @@ for _ = 1, 20 do
>      local pos_b = string.find(value2, "b", 2, true)
>      assert(pos_b == 2, "FAIL: position of 'b' is " .. pos_b)
>  end
> +test:ok(true, "LuaJIT/LuaJIT gh-505 assert not occured")
>  
> -test:ok("PASS")
> +os.exit(test:check() and 0 or 1)
> diff --git a/test/fold_bug_LuaJIT_524.test.lua b/test/fold_bug_LuaJIT_524.test.lua
> index b056684..c8cc7b0 100755
> --- a/test/fold_bug_LuaJIT_524.test.lua
> +++ b/test/fold_bug_LuaJIT_524.test.lua
> @@ -21,4 +21,4 @@ end
>  
>  test:is(tonumber(sq), math.fmod(math.pow(42, 8), math.pow(2, 32)))
>  
> -test:check()
> +os.exit(test:check() and 0 or 1)
> diff --git a/test/gh.test.lua b/test/gh.test.lua
> index 00b71a6..2804d35 100755
> --- a/test/gh.test.lua
> +++ b/test/gh.test.lua
> @@ -1,17 +1,17 @@
>  #!/usr/bin/env tarantool
>  
>  -- Miscellaneous test for LuaJIT bugs
> -tap = require('tap')
> +local tap = require('tap')
>  
> -test = tap.test("gh")
> +local test = tap.test("gh")
>  test:plan(2)
>  --
>  -- gh-3196: incorrect string length if Lua hash returns 0
>  --
> -h = "\x1F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
> +local h = "\x1F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
>  test:is(h:len(), 20)
>  
>  h = "\x0F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
>  test:is(h:len(), 20)
>  
> -test:check()
> +os.exit(test:check() and 0 or 1)
> diff --git a/test/pairsmm_tarantool_4560.test.lua b/test/pairsmm_tarantool_4560.test.lua
> index bb9835d..f8cf0bb 100755
> --- a/test/pairsmm_tarantool_4560.test.lua
> +++ b/test/pairsmm_tarantool_4560.test.lua
> @@ -1,8 +1,8 @@
>  #!/usr/bin/env tarantool
>  
> -tap = require('tap')
> +local tap = require('tap')
>  
> -test = tap.test("PAIRSMM-is-set")
> +local test = tap.test("PAIRSMM-is-set")
>  test:plan(2)
>  
>  -- There is no Lua way to detect whether LJ_PAIRSMM is enabled. However, in
> @@ -46,5 +46,7 @@ for k, v in ipairs(t) do
>      ipairs_res = v + ipairs_res
>  end
>  test:is(pairs_res + ipairs_res, 0)
> -os_exec_res = os.execute()
> +local os_exec_res = os.execute()
>  test:is(os_exec_res, 1)
> +
> +os.exit(test:check() and 0 or 1)
> diff --git a/test/table_chain_bug_LuaJIT_494.test.lua b/test/table_chain_bug_LuaJIT_494.test.lua
> index 06c0f0d..85df8e0 100755
> --- a/test/table_chain_bug_LuaJIT_494.test.lua
> +++ b/test/table_chain_bug_LuaJIT_494.test.lua
> @@ -1,8 +1,8 @@
>  #!/usr/bin/env tarantool
>  
> -tap = require('tap')
> +local tap = require('tap')
>  
> -test = tap.test("494")
> +local test = tap.test("494")
>  test:plan(1)
>  
>  -- Test file to demonstrate Lua table hash chain bugs discussed in
> @@ -11,19 +11,19 @@ test:plan(1)
>  --     https://gist.github.com/corsix/1fc9b13a2dd5f3659417b62dd54d4500
>  
>  --- Plumbing
> -ffi = require"ffi"
> -ffi.cdef"char* strstr(const char*, const char*)"
> -strstr = ffi.C.strstr
> -cast = ffi.cast
> -str_hash_offset = cast("uint32_t*", strstr("*", ""))[-2] == 1 and 3 or 2
> +local ffi = require("ffi")
> +ffi.cdef("char* strstr(const char*, const char*)")
> +local strstr = ffi.C.strstr
> +local cast = ffi.cast
> +local str_hash_offset = cast("uint32_t*", strstr("*", ""))[-2] == 1 and 3 or 2
>  function str_hash(s)
>      return cast("uint32_t*", strstr(s, "")) - str_hash_offset
>  end
> -table_new = require"table.new"
> +local table_new = require("table.new")
>  
>  --- Prepare some objects
> -victims = {}
> -orig_hash = {}
> +local victims = {}
> +local orig_hash = {}
>  for c in ("abcdef"):gmatch"." do
>      v = c .. "{09add58a-13a4-44e0-a52c-d44d0f9b2b95}"
>      victims[c] = v
> @@ -174,5 +174,6 @@ collectgarbage()
>  for c, v in pairs(victims) do
>      str_hash(v)[0] = orig_hash[c]
>  end
> +test:ok(true, "LuaJIT/LuaJIT gh-494 successfully checked commit a7dc9e8d23315217c9fe0029bc8ae12c03306b33")
>  
> -test:ok("PASS")
> +os.exit(test:check() and 0 or 1)
> diff --git a/test/unsink_64_kptr.test.lua b/test/unsink_64_kptr.test.lua
> index 8995763..d01ddc6 100755
> --- a/test/unsink_64_kptr.test.lua
> +++ b/test/unsink_64_kptr.test.lua
> @@ -1,8 +1,8 @@
>  #!/usr/bin/env tarantool
>  
> -tap = require('tap')
> +local tap = require('tap')
>  
> -test = tap.test("232")
> +local test = tap.test("232")
>  test:plan(1)
>  
>  --- From: Thibault Charbonnier <thibaultcha@me.com>
> @@ -40,5 +40,6 @@ end
>  for i = 1, 1000 do
>      fn(i)
>  end
> +test:ok(true, "openresty-lua/resty-core gh-232 allowed its address to be inlined")
>  
> -test:ok("PASS")
> +os.exit(test:check() and 0 or 1)
> -- 
> 2.17.1
> 

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Tarantool-patches] [PATCH v1 2/2] test: rename test files
  2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 2/2] test: rename test files Alexander V. Tikhonov
@ 2020-01-13 12:05   ` Igor Munkin
  2020-02-27 13:39     ` Alexander Tikhonov
  0 siblings, 1 reply; 7+ messages in thread
From: Igor Munkin @ 2020-01-13 12:05 UTC (permalink / raw)
  To: Alexander V. Tikhonov; +Cc: tarantool-patches

Sasha,

Thanks for the patch!

IMHO gh prefix can be used for the issues filed in Tarantool queue and
is excess for the tests related to issues from other queues. Otherwise
e.g. tnt prefix can be used for the issues origined to Tarantool and gh
prefix can be dropped at all. The naming you propose within this patch
looks too long for me.

On 16.12.19, Alexander V. Tikhonov wrote:
> Renamed test files in the following way:
> [gh-[external repo]-<number>-]comment.test.lua
> where "external repo" is github repository:
>   lj - luajit/luajit
>   lrc - openresty/lua-resty-core

The openresty queue is located in openresty/luajit2 repo. Furthermore
or (for openresty) feems to be more correct for the corresponding
prefix.

> 
> Close #4655
> ---
>  test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua}    | 0
>  ...mm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} | 0
>  ...n_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} | 0
>  ...JIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} | 0
>  ...JIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} | 0
>  ...{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} | 0
>  6 files changed, 0 insertions(+), 0 deletions(-)
>  rename test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua} (100%)
>  rename test/{pairsmm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} (100%)
>  rename test/{table_chain_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} (100%)

table-chain-infinite-loop looks more correct.

>  rename test/{fold_bug_LuaJIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} (100%)
>  rename test/{fold_bug_LuaJIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} (100%)
>  rename test/{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} (100%)
> 
> diff --git a/test/gh.test.lua b/test/gh-3196-incorrect-string-length.test.lua
> similarity index 100%
> rename from test/gh.test.lua
> rename to test/gh-3196-incorrect-string-length.test.lua
> diff --git a/test/pairsmm_tarantool_4560.test.lua b/test/gh-4560-pairsmm-is-set.test.lua
> similarity index 100%
> rename from test/pairsmm_tarantool_4560.test.lua
> rename to test/gh-4560-pairsmm-is-set.test.lua
> diff --git a/test/table_chain_bug_LuaJIT_494.test.lua b/test/gh-lj-494-infinite-loop.test.lua
> similarity index 100%
> rename from test/table_chain_bug_LuaJIT_494.test.lua
> rename to test/gh-lj-494-infinite-loop.test.lua
> diff --git a/test/fold_bug_LuaJIT_505.test.lua b/test/gh-lj-505-fold-icorrect-behavior.test.lua
> similarity index 100%
> rename from test/fold_bug_LuaJIT_505.test.lua
> rename to test/gh-lj-505-fold-icorrect-behavior.test.lua
> diff --git a/test/fold_bug_LuaJIT_524.test.lua b/test/gh-lj-524-fold-icorrect-behavior.test.lua
> similarity index 100%
> rename from test/fold_bug_LuaJIT_524.test.lua
> rename to test/gh-lj-524-fold-icorrect-behavior.test.lua
> diff --git a/test/unsink_64_kptr.test.lua b/test/gh-lrc-64-unsink-64-kptr.test.lua
> similarity index 100%
> rename from test/unsink_64_kptr.test.lua
> rename to test/gh-lrc-64-unsink-64-kptr.test.lua

test/fix_string_find_recodring.test.lua is missing.

> -- 
> 2.17.1
> 

-- 
Best regards,
IM

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code
  2020-01-13 12:04   ` Igor Munkin
@ 2020-02-27 13:38     ` Alexander Tikhonov
  0 siblings, 0 replies; 7+ messages in thread
From: Alexander Tikhonov @ 2020-02-27 13:38 UTC (permalink / raw)
  To: Igor Munkin; +Cc: tarantool-patches

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


Igor,

Thanks for the review, I've made all the changes as you suggested.

>Понедельник, 13 января 2020, 15:06 +03:00 от Igor Munkin < imun@tarantool.org >:
>
>Sasha,
>
>Thanks for the patch! I left several comments below, please consider
>them.
>
>On 16.12.19, Alexander V. Tikhonov wrote:
>> Added local definitions for the variables, added os.exit()
>> routine at the tests finish. Changed added information messages
>> to test:ok() calls.
>
>IMHO bullet list is a way more readable for listing the changes.
>
>> 
>> Part of #4655
>> ---
>>  test/fix_string_find_recording.test.lua  |  6 +++---
>>  test/fold_bug_LuaJIT_505.test.lua        |  7 ++++---
>>  test/fold_bug_LuaJIT_524.test.lua        |  2 +-
>>  test/gh.test.lua                         |  8 ++++----
>>  test/pairsmm_tarantool_4560.test.lua     |  8 +++++---
>>  test/table_chain_bug_LuaJIT_494.test.lua | 23 ++++++++++++-----------
>>  test/unsink_64_kptr.test.lua             |  7 ++++---
>>  7 files changed, 33 insertions(+), 28 deletions(-)
>
>General comments:
>* Feel free to enhance the existing test names passed to tap.test:
>| $ grep -rF 'tap.test'
>| table_chain_bug_LuaJIT_494.test.lua:local test = tap.test("494")
>| fix_string_find_recording.test.lua:local test =
>| tap.test("fix-string-find-recording")
>| gh.test.lua:local test = tap.test("gh")
>| pairsmm_tarantool_4560.test.lua:local test = tap.test("PAIRSMM-is-set")
>| fold_bug_LuaJIT_505.test.lua:local test = tap.test("505")
>| fold_bug_LuaJIT_524.test.lua:local test = tap.test("LuaJIT 524")
>| unsink_64_kptr.test.lua:local test = tap.test("232")
>* It's a good idea to add more verbose description, but the new ones
>  still don't make sense to me:
>| $ grep -rnF 'test:ok'
>| table_chain_bug_LuaJIT_494.test.lua:177:test:ok(true, "LuaJIT/LuaJIT gh-494 successfully checked commit a7dc9e8d23315217c9fe0029bc8ae12c03306b33")
>| fold_bug_LuaJIT_505.test.lua:19:test:ok(true, "LuaJIT/LuaJIT gh-505 assert not occured")
>| unsink_64_kptr.test.lua:43:test:ok(true, "openresty-lua/resty-core gh-232 allowed its address to be inlined")
>
>> 
>> diff --git a/test/fix_string_find_recording.test.lua b/test/fix_string_find_recording.test.lua
>> index d3fc9e1..911e611 100755
>> --- a/test/fix_string_find_recording.test.lua
>> +++ b/test/fix_string_find_recording.test.lua
>> @@ -1,8 +1,8 @@
>>  #!/usr/bin/env tarantool
>> 
>> -tap = require('tap')
>> +local tap = require('tap')
>> 
>> -test = tap.test("fix-string-find-recording")
>> +local test = tap.test("fix-string-find-recording")
>>  test:plan(1)
>> 
>>  local err = [[module 'kit.1.10.3-136' not found:
>> @@ -76,4 +76,4 @@ until not e
>> 
>>  test:is(count_vm, count_jit)
>> 
>> -test:check()
>> +os.exit(test:check() and 0 or 1)
>> diff --git a/test/fold_bug_LuaJIT_505.test.lua b/test/fold_bug_LuaJIT_505.test.lua
>> index 2fee069..433efb0 100755
>> --- a/test/fold_bug_LuaJIT_505.test.lua
>> +++ b/test/fold_bug_LuaJIT_505.test.lua
>> @@ -1,8 +1,8 @@
>>  #!/usr/bin/env tarantool
>> 
>> -tap = require('tap')
>> +local tap = require('tap')
>> 
>> -test = tap.test("505")
>> +local test = tap.test("505")
>>  test:plan(1)
>> 
>>  -- Test file to demonstrate Lua fold machinery icorrect behavior, details:
>> @@ -16,5 +16,6 @@ for _ = 1, 20 do
>>      local pos_b = string.find(value2, "b", 2, true)
>>      assert(pos_b == 2, "FAIL: position of 'b' is " .. pos_b)
>>  end
>> +test:ok(true, "LuaJIT/LuaJIT gh-505 assert not occured")
>> 
>> -test:ok("PASS")
>> +os.exit(test:check() and 0 or 1)
>> diff --git a/test/fold_bug_LuaJIT_524.test.lua b/test/fold_bug_LuaJIT_524.test.lua
>> index b056684..c8cc7b0 100755
>> --- a/test/fold_bug_LuaJIT_524.test.lua
>> +++ b/test/fold_bug_LuaJIT_524.test.lua
>> @@ -21,4 +21,4 @@ end
>> 
>>  test:is(tonumber(sq), math.fmod(math.pow(42, 8), math.pow(2, 32)))
>> 
>> -test:check()
>> +os.exit(test:check() and 0 or 1)
>> diff --git a/test/gh.test.lua b/test/gh.test.lua
>> index 00b71a6..2804d35 100755
>> --- a/test/gh.test.lua
>> +++ b/test/gh.test.lua
>> @@ -1,17 +1,17 @@
>>  #!/usr/bin/env tarantool
>> 
>>  -- Miscellaneous test for LuaJIT bugs
>> -tap = require('tap')
>> +local tap = require('tap')
>> 
>> -test = tap.test("gh")
>> +local test = tap.test("gh")
>>  test:plan(2)
>>  --
>>  -- gh-3196: incorrect string length if Lua hash returns 0
>>  --
>> -h = "\x1F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
>> +local h = "\x1F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
>>  test:is(h:len(), 20)
>> 
>>  h = "\x0F\x93\xE2\x1C\xCA\xDE\x28\x08\x26\x01\xED\x0A\x2F\xE4\x21\x02\x97\x77\xD9\x3E"
>>  test:is(h:len(), 20)
>> 
>> -test:check()
>> +os.exit(test:check() and 0 or 1)
>> diff --git a/test/pairsmm_tarantool_4560.test.lua b/test/pairsmm_tarantool_4560.test.lua
>> index bb9835d..f8cf0bb 100755
>> --- a/test/pairsmm_tarantool_4560.test.lua
>> +++ b/test/pairsmm_tarantool_4560.test.lua
>> @@ -1,8 +1,8 @@
>>  #!/usr/bin/env tarantool
>> 
>> -tap = require('tap')
>> +local tap = require('tap')
>> 
>> -test = tap.test("PAIRSMM-is-set")
>> +local test = tap.test("PAIRSMM-is-set")
>>  test:plan(2)
>> 
>>  -- There is no Lua way to detect whether LJ_PAIRSMM is enabled. However, in
>> @@ -46,5 +46,7 @@ for k, v in ipairs(t) do
>>      ipairs_res = v + ipairs_res
>>  end
>>  test:is(pairs_res + ipairs_res, 0)
>> -os_exec_res = os.execute()
>> +local os_exec_res = os.execute()
>>  test:is(os_exec_res, 1)
>> +
>> +os.exit(test:check() and 0 or 1)
>> diff --git a/test/table_chain_bug_LuaJIT_494.test.lua b/test/table_chain_bug_LuaJIT_494.test.lua
>> index 06c0f0d..85df8e0 100755
>> --- a/test/table_chain_bug_LuaJIT_494.test.lua
>> +++ b/test/table_chain_bug_LuaJIT_494.test.lua
>> @@ -1,8 +1,8 @@
>>  #!/usr/bin/env tarantool
>> 
>> -tap = require('tap')
>> +local tap = require('tap')
>> 
>> -test = tap.test("494")
>> +local test = tap.test("494")
>>  test:plan(1)
>> 
>>  -- Test file to demonstrate Lua table hash chain bugs discussed in
>> @@ -11,19 +11,19 @@ test:plan(1)
>>  --  https://gist.github.com/corsix/1fc9b13a2dd5f3659417b62dd54d4500
>> 
>>  --- Plumbing
>> -ffi = require"ffi"
>> -ffi.cdef"char* strstr(const char*, const char*)"
>> -strstr = ffi.C.strstr
>> -cast = ffi.cast
>> -str_hash_offset = cast("uint32_t*", strstr("*", ""))[-2] == 1 and 3 or 2
>> +local ffi = require("ffi")
>> +ffi.cdef("char* strstr(const char*, const char*)")
>> +local strstr = ffi.C.strstr
>> +local cast = ffi.cast
>> +local str_hash_offset = cast("uint32_t*", strstr("*", ""))[-2] == 1 and 3 or 2
>>  function str_hash(s)
>>      return cast("uint32_t*", strstr(s, "")) - str_hash_offset
>>  end
>> -table_new = require"table.new"
>> +local table_new = require("table.new")
>> 
>>  --- Prepare some objects
>> -victims = {}
>> -orig_hash = {}
>> +local victims = {}
>> +local orig_hash = {}
>>  for c in ("abcdef"):gmatch"." do
>>      v = c .. "{09add58a-13a4-44e0-a52c-d44d0f9b2b95}"
>>      victims[c] = v
>> @@ -174,5 +174,6 @@ collectgarbage()
>>  for c, v in pairs(victims) do
>>      str_hash(v)[0] = orig_hash[c]
>>  end
>> +test:ok(true, "LuaJIT/LuaJIT gh-494 successfully checked commit a7dc9e8d23315217c9fe0029bc8ae12c03306b33")
>> 
>> -test:ok("PASS")
>> +os.exit(test:check() and 0 or 1)
>> diff --git a/test/unsink_64_kptr.test.lua b/test/unsink_64_kptr.test.lua
>> index  8995763 ..d01ddc6 100755
>> --- a/test/unsink_64_kptr.test.lua
>> +++ b/test/unsink_64_kptr.test.lua
>> @@ -1,8 +1,8 @@
>>  #!/usr/bin/env tarantool
>> 
>> -tap = require('tap')
>> +local tap = require('tap')
>> 
>> -test = tap.test("232")
>> +local test = tap.test("232")
>>  test:plan(1)
>> 
>>  --- From: Thibault Charbonnier < thibaultcha@me.com >
>> @@ -40,5 +40,6 @@ end
>>  for i = 1, 1000 do
>>      fn(i)
>>  end
>> +test:ok(true, "openresty-lua/resty-core gh-232 allowed its address to be inlined")
>> 
>> -test:ok("PASS")
>> +os.exit(test:check() and 0 or 1)
>> -- 
>> 2.17.1
>> 
>
>-- 
>Best regards,
>IM


-- 
Alexander Tikhonov

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Tarantool-patches] [PATCH v1 2/2] test: rename test files
  2020-01-13 12:05   ` Igor Munkin
@ 2020-02-27 13:39     ` Alexander Tikhonov
  0 siblings, 0 replies; 7+ messages in thread
From: Alexander Tikhonov @ 2020-02-27 13:39 UTC (permalink / raw)
  To: Igor Munkin; +Cc: tarantool-patches

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

Igor,

Thanks for the review, I've changed the commit message as you suggested.


>Понедельник, 13 января 2020, 15:07 +03:00 от Igor Munkin <imun@tarantool.org>:
>
>Sasha,
>
>Thanks for the patch!
>
>IMHO gh prefix can be used for the issues filed in Tarantool queue and
>is excess for the tests related to issues from other queues. Otherwise
>e.g. tnt prefix can be used for the issues origined to Tarantool and gh
>prefix can be dropped at all. The naming you propose within this patch
>looks too long for me.
>
>On 16.12.19, Alexander V. Tikhonov wrote:
>> Renamed test files in the following way:
>> [gh-[external repo]-<number>-]comment.test.lua
>> where "external repo" is github repository:
>>   lj - luajit/luajit
>>   lrc - openresty/lua-resty-core
>
>The openresty queue is located in openresty/luajit2 repo. Furthermore
>or (for openresty) feems to be more correct for the corresponding
>prefix.
>
>> 
>> Close #4655
>> ---
>>  test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua}    | 0
>>  ...mm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} | 0
>>  ...n_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} | 0
>>  ...JIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} | 0
>>  ...JIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} | 0
>>  ...{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} | 0
>>  6 files changed, 0 insertions(+), 0 deletions(-)
>>  rename test/{gh.test.lua => gh-3196-incorrect-string-length.test.lua} (100%)
>>  rename test/{pairsmm_tarantool_4560.test.lua => gh-4560-pairsmm-is-set.test.lua} (100%)
>>  rename test/{table_chain_bug_LuaJIT_494.test.lua => gh-lj-494-infinite-loop.test.lua} (100%)
>
>table-chain-infinite-loop looks more correct.
>
>>  rename test/{fold_bug_LuaJIT_505.test.lua => gh-lj-505-fold-icorrect-behavior.test.lua} (100%)
>>  rename test/{fold_bug_LuaJIT_524.test.lua => gh-lj-524-fold-icorrect-behavior.test.lua} (100%)
>>  rename test/{unsink_64_kptr.test.lua => gh-lrc-64-unsink-64-kptr.test.lua} (100%)
>> 
>> diff --git a/test/gh.test.lua b/test/gh-3196-incorrect-string-length.test.lua
>> similarity index 100%
>> rename from test/gh.test.lua
>> rename to test/gh-3196-incorrect-string-length.test.lua
>> diff --git a/test/pairsmm_tarantool_4560.test.lua b/test/gh-4560-pairsmm-is-set.test.lua
>> similarity index 100%
>> rename from test/pairsmm_tarantool_4560.test.lua
>> rename to test/gh-4560-pairsmm-is-set.test.lua
>> diff --git a/test/table_chain_bug_LuaJIT_494.test.lua b/test/gh-lj-494-infinite-loop.test.lua
>> similarity index 100%
>> rename from test/table_chain_bug_LuaJIT_494.test.lua
>> rename to test/gh-lj-494-infinite-loop.test.lua
>> diff --git a/test/fold_bug_LuaJIT_505.test.lua b/test/gh-lj-505-fold-icorrect-behavior.test.lua
>> similarity index 100%
>> rename from test/fold_bug_LuaJIT_505.test.lua
>> rename to test/gh-lj-505-fold-icorrect-behavior.test.lua
>> diff --git a/test/fold_bug_LuaJIT_524.test.lua b/test/gh-lj-524-fold-icorrect-behavior.test.lua
>> similarity index 100%
>> rename from test/fold_bug_LuaJIT_524.test.lua
>> rename to test/gh-lj-524-fold-icorrect-behavior.test.lua
>> diff --git a/test/unsink_64_kptr.test.lua b/test/gh-lrc-64-unsink-64-kptr.test.lua
>> similarity index 100%
>> rename from test/unsink_64_kptr.test.lua
>> rename to test/gh-lrc-64-unsink-64-kptr.test.lua
>
>test/fix_string_find_recodring.test.lua is missing.
>
>> -- 
>> 2.17.1
>> 
>
>-- 
>Best regards,
>IM


-- 
Alexander Tikhonov

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-02-27 13:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-16  8:43 [Tarantool-patches] [PATCH v1 0/2] Correct luajit tests Alexander V. Tikhonov
2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code Alexander V. Tikhonov
2020-01-13 12:04   ` Igor Munkin
2020-02-27 13:38     ` Alexander Tikhonov
2019-12-16  8:43 ` [Tarantool-patches] [PATCH v1 2/2] test: rename test files Alexander V. Tikhonov
2020-01-13 12:05   ` Igor Munkin
2020-02-27 13:39     ` Alexander Tikhonov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox