[Tarantool-patches] [WIP luajit 00/15] Adapt LuaVela test suites

Igor Munkin imun at tarantool.org
Wed Mar 10 02:59:17 MSK 2021


Sergey,

I've precisely reviewed patches 04-09 and they look good. I've polished
a bit[1] the series, so it can be applied to the trunk out of the order.
CI[2] is green.

BTW, I would like to leave some major points related to my review.

1. The suite has been taken intact. To check this I used the following
recipe:
| $ pwd
| /LuaJIT-test-cleanup/test
| $ git remote -v
| origin  https://github.com/LuaJIT/LuaJIT-test-cleanup.git (fetch)
| origin  https://github.com/LuaJIT/LuaJIT-test-cleanup.git (push)
| $ git lo -1
| 014708b (HEAD -> master, origin/master, origin/HEAD) Add test for BC_VARG slot revival
| $ find . -type f | sort | xargs md5sum > ~/vanilla
| <...>
| $ pwd
| /tarantool-luajit/test/LuaJIT-test
| $ git remote -v
| origin  git at github.com:tarantool/luajit (fetch)
| origin  git at github.com:tarantool/luajit (push)
| $ git lo -1
| cc0967c (HEAD) test: add LuaJIT-test-cleanup test suite
| $ find . -type f | sort | xargs md5sum > ~/tarantool
| $ diff ~/vanilla ~/tarantool
| > 91cb30f369b83d7626a8ae852781ebb5  ./CMakeLists.txt

2. I've introduced a new CMake option: LUAJIT_TEST_INIT. You can read
the description here[3]. It allows to enclose the partial LUA_INIT
emulation, implemented via '-e dofile[[${LUAJIT_TEST_INIT}]]' and
obliges user to set the name of the Lua script to be run prior to the
testing suite[4]. By default it does nothing by reading from /dev/null.

3. Since CLI flags can be used for LuaJIT testing now, <utils.selfrun>
need to be adjusted[5] to respect the passed flags in child process.

This part LGTM, so if nobody is against the version I've checked to the
branch[1], then I apply it to the trunk after your and Sergos approval.

On 04.03.21, Sergey Kaplun wrote:
> WARNING: This patch doesn't require full and precise review now.
> 
> This draft should be structured (commits at least) from test
> suite to test suite if necessary.
> 
> You can complain test suites with the following command, for example:
> | $ diff --color -urZ test/PUC-Lua-5.1-tests/ ~/Downloads/lua5.1-tests/
> 
> Branch: https://github.com/tarantool/luajit/tree/skaplun/gh-4473-adopt-luavela-test-suites
> Tarantool's branch: https://github.com/tarantool/tarantool/tree/skaplun/gh-4473-adopt-luavela-test-suites
> Epic: https://github.com/tarantool/tarantool/issues/4473
> Issues:
> * https://github.com/tarantool/tarantool/issues/5845
> * https://github.com/tarantool/tarantool/issues/4064
> * https://github.com/tarantool/tarantool/issues/5844
> 
> CI is red due to ASan failure [0] for PUC-Lua-5.1 test suite.
> Looks related to https://github.com/tarantool/tarantool/issues/5747,
> but it is hard to tell without backtrace.
> 
> Locally, I get tons of errors like this for each of newly added test
> suites:
> | ==31930==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffbb603000; bottom 0x7f4e271fd000; size: 0x00b194406000 (762696458240)
> | False positive error reports may follow
> | For details see https://github.com/google/sanitizers/issues/189
> 
> After that there are failures like:
> 
> | ==24658==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7f6b741fefa8 at pc 0x000000c91926 bp 0x7f6b741fec90 sp 0x7f6b741fec88
> | READ of size 8 at 0x7f6b741fefa8 thread T0
> |     #0 0xc91925 in lj_strfmt_pushvf /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_strfmt.c:438:23
> |     #1 0xc6f8fe in lj_err_lex /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_err.c:651:9
> |     #2 0xce0fa1 in lj_lex_error /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_lex.c:495:3
> |     #3 0xce3285 in err_token /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_parse.c:175:3
> |     #4 0xcf27bc in parse_stmt /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_parse.c
> |     #5 0xce3ceb in parse_chunk /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_parse.c:2684:14
> |     #6 0xce3ceb in lj_parse /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_parse.c:2717:3
> |     #7 0xc7eeaa in cpparser /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_load.c:41:29
> |     #8 0xd8a6b7 in lj_vm_cpcall /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/build/third_party/luajit/src/lj_vm.S:1191
> |     #9 0xc7fed6 in lua_loadx /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_load.c:58:12
> |     #10 0xc7fed6 in luaL_loadbufferx /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_load.c:143:10
> |     #11 0xca9b12 in lj_cf_load /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lib_base.c:401:14
> |     #12 0xd8a2fa in lj_BC_FUNCC /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/build/third_party/luajit/src/lj_vm.S:811
> |     #13 0xc5be1f in lua_pcall /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_api.c:1158:12
> |     #14 0xb2ad71 in luaT_call /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/src/lua/utils.c:1022:6
> |     #15 0xb1532c in lua_main /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/src/lua/init.c:559:11
> |     #16 0xb14c9a in run_script_f /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/src/lua/init.c:634:7
> |     #17 0x526d96 in fiber_cxx_invoke(int (*)(__va_list_tag*), __va_list_tag*) /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/src/lib/core/fiber.h:882:10
> |     #18 0xb7f688 in fiber_loop /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/src/lib/core/fiber.c:879:18
> |     #19 0x14b3b10 in coro_init /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/coro/coro.c:110:3
> |
> | Address 0x7f6b741fefa8 is a wild pointer.
> | SUMMARY: AddressSanitizer: stack-buffer-overflow /home/burii/builds_workspace/tarantool/gh-4473-adopt-luavela-test-suites/third_party/luajit/src/lj_strfmt.c:438:23 in lj_strfmt_pushvf
> | Shadow bytes around the buggy address:
> |   0x0fedee837da0: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
> |   0x0fedee837db0: 00 00 00 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00
> |   0x0fedee837dc0: f1 f1 f1 f1 00 00 00 00 00 00 00 04 f3 f3 f3 f3
> |   0x0fedee837dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> |   0x0fedee837de0: f1 f1 f1 f1 00 00 00 f3 f3 f3 f3 f3 f2 f2 f2 f2
> | =>0x0fedee837df0: f8 f8 f8 f8 f3[f3]f3 f3 00 00 00 00 00 00 00 00
> |   0x0fedee837e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> |   0x0fedee837e10: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 f8 f8 f8 f2
> |   0x0fedee837e20: f2 f2 f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f8
> |   0x0fedee837e30: f2 f2 f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f2
> |   0x0fedee837e40: f2 f2 f2 f2 f8 f8 f8 f2 f2 f2 f2 f2 f8 f8 f8 f2
> | Shadow byte legend (one shadow byte represents 8 application bytes):
> |   Addressable:           00
> |   Partially addressable: 01 02 03 04 05 06 07 
> |   Heap left redzone:       fa
> |   Freed heap region:       fd
> |   Stack left redzone:      f1
> |   Stack mid redzone:       f2
> |   Stack right redzone:     f3
> |   Stack after return:      f5
> |   Stack use after scope:   f8
> 
> It can be simply reproduce locally with:
> | $ ASAN=ON LSAN_OPTIONS=suppressions=asan/lsan.supp ASAN_OPTIONS=heap_profile=0:unmap_shadow_on_exit=1:detect_invalid_pointer_pairs=1:symbolize=1:detect_leaks=1:dump_instruction_bytes=1:print_suppressions=0:asan_stack=0 src/tarantool -e 'prog = [[ do]] for _=1,3 do pcall(loadstring(string.sub(prog, 1, _))) end'
> 
> It may be the reason of failures too, see [1][2].
> 
> According to [3], there is no any way except to compile with -asan-stack
> flag, but it looks like overkill. So I propose to exclude PUC-Lua-5.1
> test suite from ASan job for now (at least this is out of scoupe of the
> original issue).
> 
> Mergen Imeev (8):
>   test: add LuaJIT-test-cleanup test suite
>   test: change tests to match de5568e
>   test: change tests to match c198167
>   test: change tests to match 5a61e1a
>   test: change LuaJIT suite tests to match b4e6bf0
>   test: adjust LuaJIT test suite for Tarantool
>   test: add lua-Harness test suite
>   test: adjust lua-Harness test suite for Tarantool
> 
> Sergey Kaplun (7):
>   test: add PUC-Rio Lua 5.1 test suite
>   test: adapt PUC-Rio Lua 5.1 test suite for LuaJIT
>   test: adapt Lua 5.1 test suite for Tarantool
>   test: disable 305-utf8 of lua-Harness suite
>   test: disable 241-standalone of lua-Harness suite
>   test: disable 411-luajit of lua-Harness suite
>   test: skip test for getenv in 309-os.t
> 
>  .gitignore                                    |    1 +
>  .luacheckrc                                   |    7 +-
>  CMakeLists.txt                                |    8 +
>  test/CMakeLists.txt                           |    6 +
>  test/LuaJIT-tests/CMakeLists.txt              |   20 +
>  test/LuaJIT-tests/README.md                   |  110 ++
>  test/LuaJIT-tests/bc/constov.lua              |   16 +
>  test/LuaJIT-tests/bc/index                    |    1 +
>  test/LuaJIT-tests/common/expect_error.lua     |   16 +
>  test/LuaJIT-tests/common/ffi_util.inc         |   41 +
>  .../common/test_runner_canary.lua             |    1 +
>  test/LuaJIT-tests/computations.lua            |  113 ++
>  test/LuaJIT-tests/index                       |    6 +
>  test/LuaJIT-tests/lang/andor.lua              |   61 +
>  test/LuaJIT-tests/lang/assignment.lua         |   46 +
>  test/LuaJIT-tests/lang/compare.lua            |  323 +++++
>  test/LuaJIT-tests/lang/compare_nan.lua        |   99 ++
>  test/LuaJIT-tests/lang/concat.lua             |  112 ++
>  test/LuaJIT-tests/lang/constant/index         |    2 +
>  test/LuaJIT-tests/lang/constant/number.lua    |   12 +
>  test/LuaJIT-tests/lang/constant/table.lua     |   15 +
>  test/LuaJIT-tests/lang/coroutine.lua          |    8 +
>  test/LuaJIT-tests/lang/for.lua                |   45 +
>  test/LuaJIT-tests/lang/gc.lua                 |   42 +
>  test/LuaJIT-tests/lang/goto.lua               |  149 +++
>  test/LuaJIT-tests/lang/index                  |   18 +
>  test/LuaJIT-tests/lang/length.lua             |   23 +
>  test/LuaJIT-tests/lang/meta/arith.lua         |  118 ++
>  test/LuaJIT-tests/lang/meta/arith_jit.lua     |   68 +
>  test/LuaJIT-tests/lang/meta/call.lua          |   81 ++
>  test/LuaJIT-tests/lang/meta/cat.lua           |   61 +
>  test/LuaJIT-tests/lang/meta/comp.lua          |  120 ++
>  test/LuaJIT-tests/lang/meta/comp_jit.lua      |  104 ++
>  test/LuaJIT-tests/lang/meta/debuginfo.lua     |   81 ++
>  test/LuaJIT-tests/lang/meta/eq.lua            |   30 +
>  test/LuaJIT-tests/lang/meta/eq_jit.lua        |   35 +
>  test/LuaJIT-tests/lang/meta/framegap.lua      |   24 +
>  test/LuaJIT-tests/lang/meta/index             |   14 +
>  test/LuaJIT-tests/lang/meta/index.lua         |   60 +
>  test/LuaJIT-tests/lang/meta/len.lua           |   42 +
>  test/LuaJIT-tests/lang/meta/newindex.lua      |   69 +
>  test/LuaJIT-tests/lang/meta/nomm.lua          |   21 +
>  test/LuaJIT-tests/lang/modulo.lua             |   46 +
>  test/LuaJIT-tests/lang/self.lua               |   19 +
>  test/LuaJIT-tests/lang/table.lua              |   32 +
>  test/LuaJIT-tests/lang/tail_recursion.lua     |   20 +
>  test/LuaJIT-tests/lang/upvalue/closure.lua    |   84 ++
>  test/LuaJIT-tests/lang/upvalue/index          |    1 +
>  test/LuaJIT-tests/lang/vararg_jit.lua         |   95 ++
>  test/LuaJIT-tests/lib/base/assert.lua         |   33 +
>  test/LuaJIT-tests/lib/base/error.lua          |   43 +
>  test/LuaJIT-tests/lib/base/getfenv.lua        |   13 +
>  .../LuaJIT-tests/lib/base/getsetmetatable.lua |   33 +
>  test/LuaJIT-tests/lib/base/index              |   11 +
>  test/LuaJIT-tests/lib/base/ipairs.lua         |   41 +
>  test/LuaJIT-tests/lib/base/next.lua           |   17 +
>  test/LuaJIT-tests/lib/base/pairs.lua          |   73 ++
>  test/LuaJIT-tests/lib/base/pcall_jit.lua      |   74 ++
>  test/LuaJIT-tests/lib/base/select.lua         |  105 ++
>  .../lib/base/tonumber_tostring.lua            |   81 ++
>  test/LuaJIT-tests/lib/base/xpcall_jit.lua     |   83 ++
>  test/LuaJIT-tests/lib/bit.lua                 |   98 ++
>  test/LuaJIT-tests/lib/contents.lua            |  171 +++
>  test/LuaJIT-tests/lib/coroutine/index         |    1 +
>  test/LuaJIT-tests/lib/coroutine/yield.lua     |  109 ++
>  test/LuaJIT-tests/lib/ffi/bit64.lua           |  130 ++
>  test/LuaJIT-tests/lib/ffi/cdata_var.lua       |   47 +
>  test/LuaJIT-tests/lib/ffi/copy_fill.lua       |   64 +
>  test/LuaJIT-tests/lib/ffi/err.lua             |   35 +
>  test/LuaJIT-tests/lib/ffi/ffi_arith_ptr.lua   |  106 ++
>  test/LuaJIT-tests/lib/ffi/ffi_bitfield.lua    |  108 ++
>  test/LuaJIT-tests/lib/ffi/ffi_call.lua        |  266 ++++
>  test/LuaJIT-tests/lib/ffi/ffi_callback.lua    |  158 +++
>  test/LuaJIT-tests/lib/ffi/ffi_const.lua       |  113 ++
>  test/LuaJIT-tests/lib/ffi/ffi_convert.lua     |  787 +++++++++++
>  test/LuaJIT-tests/lib/ffi/ffi_enum.lua        |   57 +
>  .../lib/ffi/ffi_gcstep_recursive.lua          |   66 +
>  test/LuaJIT-tests/lib/ffi/ffi_jit_arith.lua   |  155 +++
>  test/LuaJIT-tests/lib/ffi/ffi_jit_call.lua    |  154 +++
>  test/LuaJIT-tests/lib/ffi/ffi_jit_conv.lua    |  277 ++++
>  test/LuaJIT-tests/lib/ffi/ffi_lex_number.lua  |   51 +
>  test/LuaJIT-tests/lib/ffi/ffi_metatype.lua    |  245 ++++
>  test/LuaJIT-tests/lib/ffi/ffi_new.lua         |  106 ++
>  test/LuaJIT-tests/lib/ffi/ffi_parse_array.lua |   78 ++
>  test/LuaJIT-tests/lib/ffi/ffi_parse_basic.lua |  131 ++
>  test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua  |   77 ++
>  .../LuaJIT-tests/lib/ffi/ffi_parse_struct.lua |  259 ++++
>  test/LuaJIT-tests/lib/ffi/ffi_tabov.lua       |   12 +
>  test/LuaJIT-tests/lib/ffi/index               |   12 +
>  test/LuaJIT-tests/lib/ffi/istype.lua          |   88 ++
>  test/LuaJIT-tests/lib/ffi/jit_array.lua       |  104 ++
>  test/LuaJIT-tests/lib/ffi/jit_complex.lua     |  109 ++
>  test/LuaJIT-tests/lib/ffi/jit_misc.lua        |  109 ++
>  test/LuaJIT-tests/lib/ffi/jit_struct.lua      |  201 +++
>  test/LuaJIT-tests/lib/ffi/meta_tostring.lua   |   55 +
>  test/LuaJIT-tests/lib/ffi/redir.lua           |   19 +
>  test/LuaJIT-tests/lib/ffi/type_punning.lua    |  138 ++
>  test/LuaJIT-tests/lib/index                   |    8 +
>  test/LuaJIT-tests/lib/math/abs.lua            |   16 +
>  test/LuaJIT-tests/lib/math/constants.lua      |    8 +
>  test/LuaJIT-tests/lib/math/index              |    3 +
>  test/LuaJIT-tests/lib/math/random.lua         |   47 +
>  test/LuaJIT-tests/lib/string/byte.lua         |   92 ++
>  test/LuaJIT-tests/lib/string/char.lua         |   29 +
>  test/LuaJIT-tests/lib/string/dump.lua         |   31 +
>  test/LuaJIT-tests/lib/string/format/index     |    1 +
>  test/LuaJIT-tests/lib/string/format/num.lua   |  184 +++
>  test/LuaJIT-tests/lib/string/index            |   11 +
>  test/LuaJIT-tests/lib/string/len.lua          |   14 +
>  test/LuaJIT-tests/lib/string/lower_upper.lua  |   51 +
>  test/LuaJIT-tests/lib/string/metatable.lua    |    3 +
>  .../lib/string/multiple_functions.lua         |   16 +
>  test/LuaJIT-tests/lib/string/rep.lua          |   68 +
>  test/LuaJIT-tests/lib/string/reverse.lua      |   13 +
>  test/LuaJIT-tests/lib/string/sub.lua          |  189 +++
>  test/LuaJIT-tests/lib/table/concat.lua        |   55 +
>  test/LuaJIT-tests/lib/table/index             |    6 +
>  test/LuaJIT-tests/lib/table/insert.lua        |   17 +
>  test/LuaJIT-tests/lib/table/misc.lua          |   58 +
>  test/LuaJIT-tests/lib/table/new.lua           |   11 +
>  test/LuaJIT-tests/lib/table/pack.lua          |    7 +
>  test/LuaJIT-tests/lib/table/remove.lua        |   42 +
>  test/LuaJIT-tests/lib/table/sort.lua          |   27 +
>  test/LuaJIT-tests/misc/alias_alloc.lua        |   54 +
>  test/LuaJIT-tests/misc/api_call.lua           |   98 ++
>  test/LuaJIT-tests/misc/catch_wrap.lua         |   45 +
>  test/LuaJIT-tests/misc/coro_traceback.lua     |    8 +
>  test/LuaJIT-tests/misc/coro_yield.lua         |  111 ++
>  test/LuaJIT-tests/misc/debug_gc.lua           |   47 +
>  test/LuaJIT-tests/misc/dualnum.lua            |   47 +
>  test/LuaJIT-tests/misc/for_dir.lua            |   13 +
>  test/LuaJIT-tests/misc/fori_coerce.lua        |   33 +
>  test/LuaJIT-tests/misc/gc_rechain.lua         |   32 +
>  test/LuaJIT-tests/misc/gc_trace.lua           |   37 +
>  test/LuaJIT-tests/misc/gcstep.lua             |   33 +
>  test/LuaJIT-tests/misc/hook_active.lua        |   95 ++
>  test/LuaJIT-tests/misc/hook_line.lua          |   41 +
>  test/LuaJIT-tests/misc/hook_norecord.lua      |   12 +
>  test/LuaJIT-tests/misc/hook_record.lua        |    8 +
>  test/LuaJIT-tests/misc/hook_top.lua           |   55 +
>  test/LuaJIT-tests/misc/jit_flush.lua          |   50 +
>  test/LuaJIT-tests/misc/lightud.lua            |   88 ++
>  test/LuaJIT-tests/misc/loop_unroll.lua        |   35 +
>  test/LuaJIT-tests/misc/parse_comp.lua         |   13 +
>  test/LuaJIT-tests/misc/parse_esc.lua          |    7 +
>  test/LuaJIT-tests/misc/parse_misc.lua         |   31 +
>  test/LuaJIT-tests/misc/phi_conv.lua           |   53 +
>  test/LuaJIT-tests/misc/recurse_deep.lua       |   29 +
>  test/LuaJIT-tests/misc/recurse_tail.lua       |   22 +
>  test/LuaJIT-tests/misc/stack_gc.lua           |   15 +
>  test/LuaJIT-tests/misc/stack_purge.lua        |   25 +
>  test/LuaJIT-tests/misc/stackov.lua            |   40 +
>  test/LuaJIT-tests/misc/stackovc.lua           |    4 +
>  test/LuaJIT-tests/misc/tcall_base.lua         |   20 +
>  test/LuaJIT-tests/misc/tcall_loop.lua         |    8 +
>  test/LuaJIT-tests/misc/tonumber_scan.lua      |  180 +++
>  test/LuaJIT-tests/misc/uclo.lua               |   91 ++
>  test/LuaJIT-tests/misc/unordered_jit.lua      |   96 ++
>  test/LuaJIT-tests/misc/wbarrier.lua           |    7 +
>  test/LuaJIT-tests/misc/wbarrier_jit.lua       |   18 +
>  test/LuaJIT-tests/misc/wbarrier_obar.lua      |   22 +
>  test/LuaJIT-tests/opt/dse/array.lua           |  197 +++
>  test/LuaJIT-tests/opt/dse/field.lua           |   70 +
>  test/LuaJIT-tests/opt/dse/index               |    2 +
>  test/LuaJIT-tests/opt/fold/index              |    1 +
>  test/LuaJIT-tests/opt/fold/kfold.lua          |   81 ++
>  test/LuaJIT-tests/opt/fuse.lua                |    5 +
>  test/LuaJIT-tests/opt/fwd/hrefk_rollback.lua  |   32 +
>  test/LuaJIT-tests/opt/fwd/index               |    3 +
>  test/LuaJIT-tests/opt/fwd/tnew_tdup.lua       |   69 +
>  test/LuaJIT-tests/opt/fwd/upval.lua           |   50 +
>  test/LuaJIT-tests/opt/index                   |    6 +
>  test/LuaJIT-tests/opt/loop/index              |    1 +
>  test/LuaJIT-tests/opt/loop/unroll.lua         |   32 +
>  test/LuaJIT-tests/opt/sink/alloc.lua          |  126 ++
>  test/LuaJIT-tests/opt/sink/ffi.lua            |  121 ++
>  test/LuaJIT-tests/opt/sink/ffi_nosink.lua     |   45 +
>  test/LuaJIT-tests/opt/sink/index              |    4 +
>  test/LuaJIT-tests/opt/sink/nosink.lua         |  109 ++
>  test/LuaJIT-tests/src/cpptest.cpp             |  129 ++
>  test/LuaJIT-tests/src/ctest.c                 |  339 +++++
>  test/LuaJIT-tests/sysdep/catch_cpp.lua        |   71 +
>  test/LuaJIT-tests/sysdep/ffi_include_gtk.lua  |    9 +
>  test/LuaJIT-tests/sysdep/ffi_include_std.lua  |   36 +
>  test/LuaJIT-tests/sysdep/ffi_lib_c.lua        |   87 ++
>  test/LuaJIT-tests/sysdep/ffi_lib_z.lua        |  107 ++
>  test/LuaJIT-tests/test.lua                    |  416 ++++++
>  test/LuaJIT-tests/trace/exit_frame.lua        |   79 ++
>  test/LuaJIT-tests/trace/exit_growstack.lua    |   28 +
>  test/LuaJIT-tests/trace/exit_jfuncf.lua       |   30 +
>  test/LuaJIT-tests/trace/gc64_slot_revival.lua |   18 +
>  test/LuaJIT-tests/trace/index                 |    7 +
>  test/LuaJIT-tests/trace/phi/copyspill.lua     |   53 +
>  test/LuaJIT-tests/trace/phi/index             |    3 +
>  test/LuaJIT-tests/trace/phi/ref.lua           |  131 ++
>  test/LuaJIT-tests/trace/phi/rotate.lua        |  149 +++
>  test/LuaJIT-tests/trace/snap.lua              |   47 +
>  test/LuaJIT-tests/trace/stitch.lua            |   19 +
>  .../unportable/ffi_arith_int64.lua            |   68 +
>  test/LuaJIT-tests/unportable/math_special.lua |   55 +
>  test/PUC-Lua-5.1-tests/CMakeLists.txt         |   92 ++
>  test/PUC-Lua-5.1-tests/README                 |   41 +
>  test/PUC-Lua-5.1-tests/all.lua                |  145 +++
>  test/PUC-Lua-5.1-tests/api.lua                |  711 ++++++++++
>  test/PUC-Lua-5.1-tests/attrib.lua             |  339 +++++
>  test/PUC-Lua-5.1-tests/big.lua                |  381 ++++++
>  test/PUC-Lua-5.1-tests/calls.lua              |  294 +++++
>  test/PUC-Lua-5.1-tests/checktable.lua         |   77 ++
>  test/PUC-Lua-5.1-tests/closure.lua            |  432 +++++++
>  test/PUC-Lua-5.1-tests/code.lua               |  143 ++
>  test/PUC-Lua-5.1-tests/constructs.lua         |  247 ++++
>  test/PUC-Lua-5.1-tests/db.lua                 |  538 ++++++++
>  test/PUC-Lua-5.1-tests/errors.lua             |  264 ++++
>  test/PUC-Lua-5.1-tests/etc/ltests.c           | 1147 +++++++++++++++++
>  test/PUC-Lua-5.1-tests/etc/ltests.h           |   92 ++
>  test/PUC-Lua-5.1-tests/events.lua             |  360 ++++++
>  test/PUC-Lua-5.1-tests/files.lua              |  324 +++++
>  test/PUC-Lua-5.1-tests/gc.lua                 |  320 +++++
>  test/PUC-Lua-5.1-tests/libs/lib1.c            |   40 +
>  test/PUC-Lua-5.1-tests/libs/lib11.c           |   18 +
>  test/PUC-Lua-5.1-tests/libs/lib2.c            |   28 +
>  test/PUC-Lua-5.1-tests/libs/lib21.c           |   18 +
>  test/PUC-Lua-5.1-tests/literals.lua           |  181 +++
>  test/PUC-Lua-5.1-tests/locals.lua             |  127 ++
>  test/PUC-Lua-5.1-tests/main.lua               |  195 +++
>  test/PUC-Lua-5.1-tests/math.lua               |  213 +++
>  test/PUC-Lua-5.1-tests/nextvar.lua            |  403 ++++++
>  test/PUC-Lua-5.1-tests/pm.lua                 |  281 ++++
>  test/PUC-Lua-5.1-tests/sort.lua               |   74 ++
>  test/PUC-Lua-5.1-tests/strings.lua            |  191 +++
>  test/PUC-Lua-5.1-tests/vararg.lua             |  134 ++
>  test/PUC-Lua-5.1-tests/verybig.lua            |  102 ++
>  test/lua-Harness-tests/000-sanity.t           |   54 +
>  test/lua-Harness-tests/001-if.t               |   88 ++
>  test/lua-Harness-tests/002-table.t            |   67 +
>  test/lua-Harness-tests/011-while.t            |   89 ++
>  test/lua-Harness-tests/012-repeat.t           |   85 ++
>  test/lua-Harness-tests/014-fornum.t           |  151 +++
>  test/lua-Harness-tests/015-forlist.t          |  111 ++
>  test/lua-Harness-tests/090-tap.t              |   37 +
>  test/lua-Harness-tests/091-profile.t          |   45 +
>  test/lua-Harness-tests/101-boolean.t          |  127 ++
>  test/lua-Harness-tests/102-function.t         |  206 +++
>  test/lua-Harness-tests/103-nil.t              |  127 ++
>  test/lua-Harness-tests/104-number.t           |  246 ++++
>  test/lua-Harness-tests/105-string.t           |  277 ++++
>  test/lua-Harness-tests/106-table.t            |  135 ++
>  test/lua-Harness-tests/107-thread.t           |  135 ++
>  test/lua-Harness-tests/108-userdata.t         |  132 ++
>  test/lua-Harness-tests/200-examples.t         |  104 ++
>  test/lua-Harness-tests/201-assign.t           |  150 +++
>  test/lua-Harness-tests/202-expr.t             |  157 +++
>  test/lua-Harness-tests/203-lexico.t           |  147 +++
>  test/lua-Harness-tests/204-grammar.t          |  233 ++++
>  test/lua-Harness-tests/211-scope.t            |   86 ++
>  test/lua-Harness-tests/212-function.t         |  288 +++++
>  test/lua-Harness-tests/213-closure.t          |   98 ++
>  test/lua-Harness-tests/214-coroutine.t        |  244 ++++
>  test/lua-Harness-tests/221-table.t            |  120 ++
>  test/lua-Harness-tests/222-constructor.t      |  119 ++
>  test/lua-Harness-tests/223-iterator.t         |  203 +++
>  test/lua-Harness-tests/231-metatable.t        |  602 +++++++++
>  test/lua-Harness-tests/232-object.t           |  314 +++++
>  .../241-standalone.t.disabled                 |  269 ++++
>  test/lua-Harness-tests/242-luac.t             |  341 +++++
>  test/lua-Harness-tests/301-basic.t            |  859 ++++++++++++
>  test/lua-Harness-tests/303-package.t          |  290 +++++
>  test/lua-Harness-tests/304-string.t           |  633 +++++++++
>  test/lua-Harness-tests/305-utf8.t.disabled    |   55 +
>  test/lua-Harness-tests/306-table.t            |  372 ++++++
>  test/lua-Harness-tests/307-math.t             |  375 ++++++
>  test/lua-Harness-tests/308-io.t               |  397 ++++++
>  test/lua-Harness-tests/309-os.t               |  275 ++++
>  test/lua-Harness-tests/310-debug.t            |  322 +++++
>  test/lua-Harness-tests/311-bit32.t            |  127 ++
>  test/lua-Harness-tests/314-regex.t            |  222 ++++
>  test/lua-Harness-tests/320-stdin.t            |  133 ++
>  test/lua-Harness-tests/401-bitop.t            |  106 ++
>  test/lua-Harness-tests/402-ffi.t              |  142 ++
>  test/lua-Harness-tests/403-jit.t              |  163 +++
>  test/lua-Harness-tests/404-ext.t              |  171 +++
>  test/lua-Harness-tests/411-luajit.t.disabled  |  211 +++
>  test/lua-Harness-tests/CMakeLists.txt         |   62 +
>  test/lua-Harness-tests/lexico52/lexico.t      |   45 +
>  test/lua-Harness-tests/lexico53/boolean.t     |   43 +
>  test/lua-Harness-tests/lexico53/function.t    |   66 +
>  test/lua-Harness-tests/lexico53/lexico.t      |   30 +
>  test/lua-Harness-tests/lexico53/nil.t         |   43 +
>  test/lua-Harness-tests/lexico53/number.t      |  181 +++
>  test/lua-Harness-tests/lexico53/string.t      |  169 +++
>  test/lua-Harness-tests/lexico53/table.t       |   43 +
>  test/lua-Harness-tests/lexico53/thread.t      |   45 +
>  test/lua-Harness-tests/lexico53/userdata.t    |   45 +
>  test/lua-Harness-tests/lexico53/utf8.t        |  179 +++
>  test/lua-Harness-tests/lexico54/lexico.t      |   19 +
>  test/lua-Harness-tests/lexico54/metatable.t   |   38 +
>  test/lua-Harness-tests/lexico54/utf8.t        |   54 +
>  test/lua-Harness-tests/lexicojit/basic.t      |   27 +
>  test/lua-Harness-tests/lexicojit/ext.t        |   52 +
>  test/lua-Harness-tests/lexicojit/lexico.t     |   32 +
>  test/lua-Harness-tests/profile.lua            |   53 +
>  test/lua-Harness-tests/profile_lua51.lua      |   46 +
>  .../profile_lua51_strict.lua                  |   46 +
>  test/lua-Harness-tests/profile_lua52.lua      |   46 +
>  .../profile_lua52_strict.lua                  |   46 +
>  test/lua-Harness-tests/profile_lua53.lua      |   52 +
>  .../profile_lua53_noconv.lua                  |   55 +
>  .../profile_lua53_strict.lua                  |   52 +
>  test/lua-Harness-tests/profile_lua54.lua      |   52 +
>  .../profile_lua54_noconv.lua                  |   55 +
>  .../profile_lua54_strict.lua                  |   53 +
>  test/lua-Harness-tests/profile_luajit20.lua   |   53 +
>  .../profile_luajit20_compat52.lua             |   53 +
>  test/lua-Harness-tests/profile_luajit21.lua   |   53 +
>  .../profile_luajit21_compat52.lua             |   53 +
>  test/lua-Harness-tests/profile_openresty.lua  |   53 +
>  test/lua-Harness-tests/profile_ravi.lua       |   58 +
>  test/lua-Harness-tests/profile_tiny_fork.lua  |   60 +
>  test/lua-Harness-tests/rx_captures            |   13 +
>  test/lua-Harness-tests/rx_charclass           |   38 +
>  test/lua-Harness-tests/rx_metachars           |  117 ++
>  test/lua-Harness-tests/tap_harness.lua        |  204 +++
>  322 files changed, 34168 insertions(+), 2 deletions(-)
>  create mode 100644 test/LuaJIT-tests/CMakeLists.txt
>  create mode 100644 test/LuaJIT-tests/README.md
>  create mode 100644 test/LuaJIT-tests/bc/constov.lua
>  create mode 100644 test/LuaJIT-tests/bc/index
>  create mode 100644 test/LuaJIT-tests/common/expect_error.lua
>  create mode 100644 test/LuaJIT-tests/common/ffi_util.inc
>  create mode 100644 test/LuaJIT-tests/common/test_runner_canary.lua
>  create mode 100644 test/LuaJIT-tests/computations.lua
>  create mode 100644 test/LuaJIT-tests/index
>  create mode 100644 test/LuaJIT-tests/lang/andor.lua
>  create mode 100644 test/LuaJIT-tests/lang/assignment.lua
>  create mode 100644 test/LuaJIT-tests/lang/compare.lua
>  create mode 100644 test/LuaJIT-tests/lang/compare_nan.lua
>  create mode 100644 test/LuaJIT-tests/lang/concat.lua
>  create mode 100644 test/LuaJIT-tests/lang/constant/index
>  create mode 100644 test/LuaJIT-tests/lang/constant/number.lua
>  create mode 100644 test/LuaJIT-tests/lang/constant/table.lua
>  create mode 100644 test/LuaJIT-tests/lang/coroutine.lua
>  create mode 100644 test/LuaJIT-tests/lang/for.lua
>  create mode 100644 test/LuaJIT-tests/lang/gc.lua
>  create mode 100644 test/LuaJIT-tests/lang/goto.lua
>  create mode 100644 test/LuaJIT-tests/lang/index
>  create mode 100644 test/LuaJIT-tests/lang/length.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/arith.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/arith_jit.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/call.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/cat.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/comp.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/comp_jit.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/debuginfo.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/eq.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/eq_jit.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/framegap.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/index
>  create mode 100644 test/LuaJIT-tests/lang/meta/index.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/len.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/newindex.lua
>  create mode 100644 test/LuaJIT-tests/lang/meta/nomm.lua
>  create mode 100644 test/LuaJIT-tests/lang/modulo.lua
>  create mode 100644 test/LuaJIT-tests/lang/self.lua
>  create mode 100644 test/LuaJIT-tests/lang/table.lua
>  create mode 100644 test/LuaJIT-tests/lang/tail_recursion.lua
>  create mode 100644 test/LuaJIT-tests/lang/upvalue/closure.lua
>  create mode 100644 test/LuaJIT-tests/lang/upvalue/index
>  create mode 100644 test/LuaJIT-tests/lang/vararg_jit.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/assert.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/error.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/getfenv.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/getsetmetatable.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/index
>  create mode 100644 test/LuaJIT-tests/lib/base/ipairs.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/next.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/pairs.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/pcall_jit.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/select.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/tonumber_tostring.lua
>  create mode 100644 test/LuaJIT-tests/lib/base/xpcall_jit.lua
>  create mode 100644 test/LuaJIT-tests/lib/bit.lua
>  create mode 100644 test/LuaJIT-tests/lib/contents.lua
>  create mode 100644 test/LuaJIT-tests/lib/coroutine/index
>  create mode 100644 test/LuaJIT-tests/lib/coroutine/yield.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/bit64.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/cdata_var.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/copy_fill.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/err.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_arith_ptr.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_bitfield.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_call.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_callback.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_const.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_convert.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_enum.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_gcstep_recursive.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_jit_arith.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_jit_call.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_jit_conv.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_lex_number.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_metatype.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_new.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_parse_array.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_parse_basic.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_parse_cdef.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_parse_struct.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/ffi_tabov.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/index
>  create mode 100644 test/LuaJIT-tests/lib/ffi/istype.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/jit_array.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/jit_complex.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/jit_misc.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/jit_struct.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/meta_tostring.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/redir.lua
>  create mode 100644 test/LuaJIT-tests/lib/ffi/type_punning.lua
>  create mode 100644 test/LuaJIT-tests/lib/index
>  create mode 100644 test/LuaJIT-tests/lib/math/abs.lua
>  create mode 100644 test/LuaJIT-tests/lib/math/constants.lua
>  create mode 100644 test/LuaJIT-tests/lib/math/index
>  create mode 100644 test/LuaJIT-tests/lib/math/random.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/byte.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/char.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/dump.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/format/index
>  create mode 100644 test/LuaJIT-tests/lib/string/format/num.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/index
>  create mode 100644 test/LuaJIT-tests/lib/string/len.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/lower_upper.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/metatable.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/multiple_functions.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/rep.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/reverse.lua
>  create mode 100644 test/LuaJIT-tests/lib/string/sub.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/concat.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/index
>  create mode 100644 test/LuaJIT-tests/lib/table/insert.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/misc.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/new.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/pack.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/remove.lua
>  create mode 100644 test/LuaJIT-tests/lib/table/sort.lua
>  create mode 100644 test/LuaJIT-tests/misc/alias_alloc.lua
>  create mode 100644 test/LuaJIT-tests/misc/api_call.lua
>  create mode 100644 test/LuaJIT-tests/misc/catch_wrap.lua
>  create mode 100644 test/LuaJIT-tests/misc/coro_traceback.lua
>  create mode 100644 test/LuaJIT-tests/misc/coro_yield.lua
>  create mode 100644 test/LuaJIT-tests/misc/debug_gc.lua
>  create mode 100644 test/LuaJIT-tests/misc/dualnum.lua
>  create mode 100644 test/LuaJIT-tests/misc/for_dir.lua
>  create mode 100644 test/LuaJIT-tests/misc/fori_coerce.lua
>  create mode 100644 test/LuaJIT-tests/misc/gc_rechain.lua
>  create mode 100644 test/LuaJIT-tests/misc/gc_trace.lua
>  create mode 100644 test/LuaJIT-tests/misc/gcstep.lua
>  create mode 100644 test/LuaJIT-tests/misc/hook_active.lua
>  create mode 100644 test/LuaJIT-tests/misc/hook_line.lua
>  create mode 100644 test/LuaJIT-tests/misc/hook_norecord.lua
>  create mode 100644 test/LuaJIT-tests/misc/hook_record.lua
>  create mode 100644 test/LuaJIT-tests/misc/hook_top.lua
>  create mode 100644 test/LuaJIT-tests/misc/jit_flush.lua
>  create mode 100644 test/LuaJIT-tests/misc/lightud.lua
>  create mode 100644 test/LuaJIT-tests/misc/loop_unroll.lua
>  create mode 100644 test/LuaJIT-tests/misc/parse_comp.lua
>  create mode 100644 test/LuaJIT-tests/misc/parse_esc.lua
>  create mode 100644 test/LuaJIT-tests/misc/parse_misc.lua
>  create mode 100644 test/LuaJIT-tests/misc/phi_conv.lua
>  create mode 100644 test/LuaJIT-tests/misc/recurse_deep.lua
>  create mode 100644 test/LuaJIT-tests/misc/recurse_tail.lua
>  create mode 100644 test/LuaJIT-tests/misc/stack_gc.lua
>  create mode 100644 test/LuaJIT-tests/misc/stack_purge.lua
>  create mode 100644 test/LuaJIT-tests/misc/stackov.lua
>  create mode 100644 test/LuaJIT-tests/misc/stackovc.lua
>  create mode 100644 test/LuaJIT-tests/misc/tcall_base.lua
>  create mode 100644 test/LuaJIT-tests/misc/tcall_loop.lua
>  create mode 100644 test/LuaJIT-tests/misc/tonumber_scan.lua
>  create mode 100644 test/LuaJIT-tests/misc/uclo.lua
>  create mode 100644 test/LuaJIT-tests/misc/unordered_jit.lua
>  create mode 100644 test/LuaJIT-tests/misc/wbarrier.lua
>  create mode 100644 test/LuaJIT-tests/misc/wbarrier_jit.lua
>  create mode 100644 test/LuaJIT-tests/misc/wbarrier_obar.lua
>  create mode 100644 test/LuaJIT-tests/opt/dse/array.lua
>  create mode 100644 test/LuaJIT-tests/opt/dse/field.lua
>  create mode 100644 test/LuaJIT-tests/opt/dse/index
>  create mode 100644 test/LuaJIT-tests/opt/fold/index
>  create mode 100644 test/LuaJIT-tests/opt/fold/kfold.lua
>  create mode 100644 test/LuaJIT-tests/opt/fuse.lua
>  create mode 100644 test/LuaJIT-tests/opt/fwd/hrefk_rollback.lua
>  create mode 100644 test/LuaJIT-tests/opt/fwd/index
>  create mode 100644 test/LuaJIT-tests/opt/fwd/tnew_tdup.lua
>  create mode 100644 test/LuaJIT-tests/opt/fwd/upval.lua
>  create mode 100644 test/LuaJIT-tests/opt/index
>  create mode 100644 test/LuaJIT-tests/opt/loop/index
>  create mode 100644 test/LuaJIT-tests/opt/loop/unroll.lua
>  create mode 100644 test/LuaJIT-tests/opt/sink/alloc.lua
>  create mode 100644 test/LuaJIT-tests/opt/sink/ffi.lua
>  create mode 100644 test/LuaJIT-tests/opt/sink/ffi_nosink.lua
>  create mode 100644 test/LuaJIT-tests/opt/sink/index
>  create mode 100644 test/LuaJIT-tests/opt/sink/nosink.lua
>  create mode 100644 test/LuaJIT-tests/src/cpptest.cpp
>  create mode 100644 test/LuaJIT-tests/src/ctest.c
>  create mode 100644 test/LuaJIT-tests/sysdep/catch_cpp.lua
>  create mode 100644 test/LuaJIT-tests/sysdep/ffi_include_gtk.lua
>  create mode 100644 test/LuaJIT-tests/sysdep/ffi_include_std.lua
>  create mode 100644 test/LuaJIT-tests/sysdep/ffi_lib_c.lua
>  create mode 100644 test/LuaJIT-tests/sysdep/ffi_lib_z.lua
>  create mode 100644 test/LuaJIT-tests/test.lua
>  create mode 100644 test/LuaJIT-tests/trace/exit_frame.lua
>  create mode 100644 test/LuaJIT-tests/trace/exit_growstack.lua
>  create mode 100644 test/LuaJIT-tests/trace/exit_jfuncf.lua
>  create mode 100644 test/LuaJIT-tests/trace/gc64_slot_revival.lua
>  create mode 100644 test/LuaJIT-tests/trace/index
>  create mode 100644 test/LuaJIT-tests/trace/phi/copyspill.lua
>  create mode 100644 test/LuaJIT-tests/trace/phi/index
>  create mode 100644 test/LuaJIT-tests/trace/phi/ref.lua
>  create mode 100644 test/LuaJIT-tests/trace/phi/rotate.lua
>  create mode 100644 test/LuaJIT-tests/trace/snap.lua
>  create mode 100644 test/LuaJIT-tests/trace/stitch.lua
>  create mode 100644 test/LuaJIT-tests/unportable/ffi_arith_int64.lua
>  create mode 100644 test/LuaJIT-tests/unportable/math_special.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/CMakeLists.txt
>  create mode 100644 test/PUC-Lua-5.1-tests/README
>  create mode 100755 test/PUC-Lua-5.1-tests/all.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/api.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/attrib.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/big.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/calls.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/checktable.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/closure.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/code.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/constructs.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/db.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/errors.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/etc/ltests.c
>  create mode 100644 test/PUC-Lua-5.1-tests/etc/ltests.h
>  create mode 100644 test/PUC-Lua-5.1-tests/events.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/files.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/gc.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/libs/lib1.c
>  create mode 100644 test/PUC-Lua-5.1-tests/libs/lib11.c
>  create mode 100644 test/PUC-Lua-5.1-tests/libs/lib2.c
>  create mode 100644 test/PUC-Lua-5.1-tests/libs/lib21.c
>  create mode 100644 test/PUC-Lua-5.1-tests/literals.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/locals.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/main.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/math.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/nextvar.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/pm.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/sort.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/strings.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/vararg.lua
>  create mode 100644 test/PUC-Lua-5.1-tests/verybig.lua
>  create mode 100755 test/lua-Harness-tests/000-sanity.t
>  create mode 100755 test/lua-Harness-tests/001-if.t
>  create mode 100755 test/lua-Harness-tests/002-table.t
>  create mode 100755 test/lua-Harness-tests/011-while.t
>  create mode 100755 test/lua-Harness-tests/012-repeat.t
>  create mode 100755 test/lua-Harness-tests/014-fornum.t
>  create mode 100755 test/lua-Harness-tests/015-forlist.t
>  create mode 100755 test/lua-Harness-tests/090-tap.t
>  create mode 100755 test/lua-Harness-tests/091-profile.t
>  create mode 100755 test/lua-Harness-tests/101-boolean.t
>  create mode 100755 test/lua-Harness-tests/102-function.t
>  create mode 100755 test/lua-Harness-tests/103-nil.t
>  create mode 100755 test/lua-Harness-tests/104-number.t
>  create mode 100755 test/lua-Harness-tests/105-string.t
>  create mode 100755 test/lua-Harness-tests/106-table.t
>  create mode 100755 test/lua-Harness-tests/107-thread.t
>  create mode 100755 test/lua-Harness-tests/108-userdata.t
>  create mode 100755 test/lua-Harness-tests/200-examples.t
>  create mode 100755 test/lua-Harness-tests/201-assign.t
>  create mode 100755 test/lua-Harness-tests/202-expr.t
>  create mode 100755 test/lua-Harness-tests/203-lexico.t
>  create mode 100755 test/lua-Harness-tests/204-grammar.t
>  create mode 100755 test/lua-Harness-tests/211-scope.t
>  create mode 100755 test/lua-Harness-tests/212-function.t
>  create mode 100755 test/lua-Harness-tests/213-closure.t
>  create mode 100755 test/lua-Harness-tests/214-coroutine.t
>  create mode 100755 test/lua-Harness-tests/221-table.t
>  create mode 100755 test/lua-Harness-tests/222-constructor.t
>  create mode 100755 test/lua-Harness-tests/223-iterator.t
>  create mode 100755 test/lua-Harness-tests/231-metatable.t
>  create mode 100755 test/lua-Harness-tests/232-object.t
>  create mode 100755 test/lua-Harness-tests/241-standalone.t.disabled
>  create mode 100755 test/lua-Harness-tests/242-luac.t
>  create mode 100755 test/lua-Harness-tests/301-basic.t
>  create mode 100755 test/lua-Harness-tests/303-package.t
>  create mode 100755 test/lua-Harness-tests/304-string.t
>  create mode 100755 test/lua-Harness-tests/305-utf8.t.disabled
>  create mode 100755 test/lua-Harness-tests/306-table.t
>  create mode 100755 test/lua-Harness-tests/307-math.t
>  create mode 100755 test/lua-Harness-tests/308-io.t
>  create mode 100755 test/lua-Harness-tests/309-os.t
>  create mode 100755 test/lua-Harness-tests/310-debug.t
>  create mode 100755 test/lua-Harness-tests/311-bit32.t
>  create mode 100755 test/lua-Harness-tests/314-regex.t
>  create mode 100755 test/lua-Harness-tests/320-stdin.t
>  create mode 100755 test/lua-Harness-tests/401-bitop.t
>  create mode 100755 test/lua-Harness-tests/402-ffi.t
>  create mode 100755 test/lua-Harness-tests/403-jit.t
>  create mode 100755 test/lua-Harness-tests/404-ext.t
>  create mode 100755 test/lua-Harness-tests/411-luajit.t.disabled
>  create mode 100644 test/lua-Harness-tests/CMakeLists.txt
>  create mode 100644 test/lua-Harness-tests/lexico52/lexico.t
>  create mode 100644 test/lua-Harness-tests/lexico53/boolean.t
>  create mode 100644 test/lua-Harness-tests/lexico53/function.t
>  create mode 100644 test/lua-Harness-tests/lexico53/lexico.t
>  create mode 100644 test/lua-Harness-tests/lexico53/nil.t
>  create mode 100644 test/lua-Harness-tests/lexico53/number.t
>  create mode 100644 test/lua-Harness-tests/lexico53/string.t
>  create mode 100644 test/lua-Harness-tests/lexico53/table.t
>  create mode 100644 test/lua-Harness-tests/lexico53/thread.t
>  create mode 100644 test/lua-Harness-tests/lexico53/userdata.t
>  create mode 100644 test/lua-Harness-tests/lexico53/utf8.t
>  create mode 100644 test/lua-Harness-tests/lexico54/lexico.t
>  create mode 100644 test/lua-Harness-tests/lexico54/metatable.t
>  create mode 100644 test/lua-Harness-tests/lexico54/utf8.t
>  create mode 100644 test/lua-Harness-tests/lexicojit/basic.t
>  create mode 100644 test/lua-Harness-tests/lexicojit/ext.t
>  create mode 100644 test/lua-Harness-tests/lexicojit/lexico.t
>  create mode 100644 test/lua-Harness-tests/profile.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua51.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua51_strict.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua52.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua52_strict.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua53.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua53_noconv.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua53_strict.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua54.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua54_noconv.lua
>  create mode 100644 test/lua-Harness-tests/profile_lua54_strict.lua
>  create mode 100644 test/lua-Harness-tests/profile_luajit20.lua
>  create mode 100644 test/lua-Harness-tests/profile_luajit20_compat52.lua
>  create mode 100644 test/lua-Harness-tests/profile_luajit21.lua
>  create mode 100644 test/lua-Harness-tests/profile_luajit21_compat52.lua
>  create mode 100644 test/lua-Harness-tests/profile_openresty.lua
>  create mode 100644 test/lua-Harness-tests/profile_ravi.lua
>  create mode 100644 test/lua-Harness-tests/profile_tiny_fork.lua
>  create mode 100644 test/lua-Harness-tests/rx_captures
>  create mode 100644 test/lua-Harness-tests/rx_charclass
>  create mode 100644 test/lua-Harness-tests/rx_metachars
>  create mode 100644 test/lua-Harness-tests/tap_harness.lua
> 
> -- 
> 2.28.0
> 
> [0]: https://github.com/tarantool/tarantool/runs/2029452344
> [1]: https://github.com/google/sanitizers/issues/980
> [2]: https://github.com/google/sanitizers/issues/189
> [3]: https://github.com/google/sanitizers/wiki/AddressSanitizerFlags

[1]: https://github.com/tarantool/luajit/tree/imun/tarantool-test
[2]: https://github.com/tarantool/tarantool/tree/imun/luajit-test
[3]: https://github.com/tarantool/luajit/commit/9712cc9#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR291-R307
[4]: https://github.com/tarantool/tarantool/commit/03b04a7
[5]: https://github.com/tarantool/luajit/commit/72f87b2

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list