[Tarantool-patches] [PATCH v1 1/2] test: cleanup tests code

Alexander Tikhonov avtikhon at tarantool.org
Thu Feb 27 16:38:30 MSK 2020


Igor,

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

>Понедельник, 13 января 2020, 15:06 +03:00 от Igor Munkin < imun at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200227/45d5b710/attachment.html>


More information about the Tarantool-patches mailing list