>>> lua-compat53: Building community/lua-compat53 0.14.4-r0 (using abuild 3.16.0-r0) started Fri, 19 Dec 2025 00:14:55 +0000 >>> lua-compat53: Validating /home/buildozer/aports/community/lua-compat53/APKBUILD... >>> lua-compat53: Analyzing dependencies... >>> lua-compat53: Installing for build: build-base lua5.1-dev lua5.2-dev lua5.3-dev ( 1/11) Installing lua5.1-libs (5.1.5-r13) ( 2/11) Installing lua5.1 (5.1.5-r13) ( 3/11) Installing lua5.1-dev (5.1.5-r13) ( 4/11) Installing lua5.2-libs (5.2.4-r13) ( 5/11) Installing lua5.2 (5.2.4-r13) ( 6/11) Installing lua5.2-dev (5.2.4-r13) ( 7/11) Installing linenoise (1.0-r5) ( 8/11) Installing lua5.3-libs (5.3.6-r6) ( 9/11) Installing lua5.3 (5.3.6-r6) (10/11) Installing lua5.3-dev (5.3.6-r6) (11/11) Installing .makedepends-lua-compat53 (20251219.001456) Executing busybox-1.37.0-r30.trigger OK: 438.8 MiB in 120 packages >>> lua-compat53: Cleaning up srcdir >>> lua-compat53: Cleaning up pkgdir >>> lua-compat53: Cleaning up tmpdir >>> lua-compat53: Fetching https://distfiles.alpinelinux.org/distfiles/edge/lua-compat53-0.14.4.tar.gz /var/cache/distfiles/edge/lua-compat53-0.14.4.tar.gz: OK /home/buildozer/aports/community/lua-compat53/test.patch: OK >>> lua-compat53: Fetching https://distfiles.alpinelinux.org/distfiles/edge/lua-compat53-0.14.4.tar.gz /var/cache/distfiles/edge/lua-compat53-0.14.4.tar.gz: OK /home/buildozer/aports/community/lua-compat53/test.patch: OK >>> lua-compat53: Unpacking /var/cache/distfiles/edge/lua-compat53-0.14.4.tar.gz... >>> lua-compat53: test.patch patching file tests/test.lua >>> lua-compat53: Building for Lua 5.1... Compiling utf8.so Compiling table.so Compiling string.so Compiling testmod-51.so >>> lua-compat53: Building for Lua 5.2... Compiling utf8.so Compiling table.so Compiling string.so Compiling testmod-52.so >>> lua-compat53: Building for Lua 5.3... Compiling utf8.so Compiling table.so Compiling string.so Compiling testmod-53.so >>> lua-compat53: Testing Lua 5.1... testing Lua API using `compat53` ... ====================================================================== assert false assertion failed! assert false nil assert false error msg assert false table assert true 1 2 3 ====================================================================== ipairs 1 1 ipairs 2 false ipairs 3 three ====================================================================== table.concat abc table.concat b,c table.concat a.b table.concat abc table.concat b,c table.concat a.b ====================================================================== table.insert nil d table.insert nil z a table.insert nil z y a table.insert a b c d table.insert z a b c d table.insert z y a b c ====================================================================== table.move nil a b c d table.move nil b c d D table.move nil A B C b c table.move nil b c d d table.move nil a b c b c table.move a b c d table.move b c d D table.move A B C b c table.move b c d d table.move a b c b c ====================================================================== table.remove e table.remove nil a b c d nil table.remove a table.remove nil b c d nil table.remove c table.remove nil b d nil table.remove nil table.remove nil b d nil table.remove nil table.remove nil nil table.remove e table.remove a b c d nil table.remove a table.remove b c d nil table.remove c table.remove b d nil table.remove nil table.remove b d nil table.remove nil table.remove nil ====================================================================== table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 3 table.sort 4 4 table.sort 5 5 table.sort 6 6 table.sort 7 7 table.sort 8 8 table.sort 9 9 table.sort nil table.sort 1 9 table.sort 2 8 table.sort 3 7 table.sort 4 6 table.sort 5 5 table.sort 6 4 table.sort 7 3 table.sort 8 2 table.sort 9 1 table.sort nil table.sort 1 1 table.sort 2 1 table.sort 3 1 table.sort 4 1 table.sort 5 1 table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort 1 9 table.sort 2 8 table.sort 3 7 table.sort 4 5 table.sort 5 5 table.sort 6 4 table.sort 7 3 table.sort 8 2 table.sort 9 2 table.sort 10 1 ====================================================================== table.unpack a b c table.unpack b c table.unpack a b table.unpack a b c table.unpack b c table.unpack a b ====================================================================== math.maxinteger false math.mininteger false ====================================================================== math.tointeger 0 math.tointeger nil math.tointeger 123 math.tointeger nil math.tointeger nil math.tointeger nil ====================================================================== math.type integer math.type float math.type nil ====================================================================== math.ult true false math.ult false true math.ult false true math.ult false bad argument #1 to 'math.ult' (number expected, got string) math.ult false bad argument #2 to 'math.ult' (number has no integer representation) ====================================================================== utf8.codes 1 3 5 7 9 11 13 utf8.codes 228 246 252 223 196 214 220 utf8.codepoint 228 246 252 223 196 214 220 utf8.len 7 7 14 utf8.char äöüßÄÖÜ utf8.codes 1 2 3 4 5 6 7 utf8.codes 97 98 99 100 101 102 103 utf8.codepoint 97 98 99 100 101 102 103 utf8.len 7 7 7 utf8.char abcdefg ====================================================================== utf8.offset 1 utf8.offset 3 utf8.offset 5 utf8.offset false initial position is a continuation byte utf8.offset 7 utf8.offset 5 utf8.offset 3 utf8.offset 1 utf8.offset 13 ====================================================================== string.unpack -128 255 -32768 65535 -2147483648 4294967295 -32768 65536 1.25 abc defgh 56 ====================================================================== testing Lua API for Lua 5.1 ... ====================================================================== debug.getuservalue() nil debug.setuservalue() false test.lua:304: bad argument #1 to 'setuservalue' (userdata expected, got boolean) debug.setmetatable() table ====================================================================== pairs() a a ====================================================================== load() false test.lua:324: bad argument #1 to 'load' (function expected, got boolean) load() nil [string "print('blub..."]:1: unfinished string near ''blub' load() function load() function load() nil attempt to load a text chunk (mode is 'b') load() function load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true load() function load() function load() function load() nil attempt to load a binary chunk (mode is 't') load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true load() nil (load):1: unfinished string near ''blub' load() function load() function load() nil attempt to load a text chunk (mode is 'b') load() function load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true load() function load() function load() function load() nil attempt to load a binary chunk (mode is 't') load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true loadfile() nil bad.lua:1: unfinished string near ''blub' loadfile() function loadfile() nil attempt to load a text chunk (mode is 'b') loadfile() function loadfile() function loadfile() false good.lua:1: attempt to call global 'print' (a nil value) loadfile() true loadfile() function loadfile() function loadfile() nil attempt to load a binary chunk (mode is 't') loadfile() function loadfile() false [string "[L]"]:1: attempt to call global 'print' (a nil value) loadfile() true ====================================================================== xpcall() true 1 2 3 xpcall() false test.lua:403: argh stack traceback: ../compat53/init.lua:165: in function <../compat53/init.lua:152> [C]: in function 'error' test.lua:403: in function (...1 tail call(s)...) [C]: in function 'xpcall' ../compat53/init.lua:296: in function 'xpcall' test.lua:410: in main chunk [C]: ? xpcall() false |test.lua:403: argh| xpcall() 2 xpcall() true str xpcall() pcall() 2 pcall() true str pcall() ====================================================================== rawlen() 1 3 ====================================================================== os.execute() nil exit 1 hello world! os.execute() true exit 0 sh: no_such_file: not found os.execute() nil exit 127 ====================================================================== table.(un)pack() 4 a nil b nil ====================================================================== coroutine.running() thread false coroutine.running() thread true coroutine.yield() false attempt to yield from outside a coroutine coroutine.yield() 1 2 3 coroutine.resume() false cannot resume non-suspended coroutine coroutine.resume() 1 2 3 coroutine.resume() true 1 2 3 coroutine.status() running coroutine.status() suspended coroutine.status() [co2] main is normal coroutine.status() [co2] co2 is running coroutine.status() suspended coroutine.status() [co1] main is normal coroutine.status() [co1] co2 is normal coroutine.status() dead ====================================================================== math.log() 6.9077552789821 math.log() 3 ====================================================================== package.searchpath() nil no file './no/such/module.lua' no file 'no/such/module/init.lua' no file '../no/such/module.lua' package.searchpath() nil package.searchpath() nil no file './compat53.lua' no file 'compat53/init.lua' no file '../compat53.lua' package.searchpath() nil no file './no|such|module.lua' no file 'no|such|module/init.lua' no file '../no|such|module.lua' ====================================================================== package.searchers my.module found package.searchers my.module found 2 ====================================================================== string.find() 2 3 string.find() 5 8 string.gmatch() abc string.gmatch() def string.gmatch() ghi string.gmatch() 4 string.gmatch() 4 string.gsub() abcXdefXghi 2 string.gsub() XXghi 2 string.gsub() abcXdefXghi 2 string.match() bc string.match() 8 string.rep() string.rep() b string.rep() cccc string.rep() string.rep() b string.rep() c|c|c|c string.format() "\"\\\0000\0010\2\13\ 0\0090\"" string.format() 3.100x%sxxtable: string.format() 3.100000 %true %s string.format() 3.1 %d %nil string.format() +3 %d %% file ( string.format() false ../compat53/module.lua:774: bad argument #2 to 'string_format' (number expected, got table) ====================================================================== hello world io.write() file io.tmpfile => file:write() file ====================================================================== io.read() 123 18.8 hello world i'm here io.read() 123 18.8 hello world i'm here ====================================================================== io.lines() #! /usr/bin/env lua io.lines() #!/usr/bin/env lua io.lines() 123 18.8 hello world i'm here io.lines() 123 18.8 hello world io.lines() i'm here io.lines() false test.lua:631: bad argument #2 to 'for iterator' (invalid format) io.lines() false test.lua:634: no_such_file.txt: No such file or directory io.type() file file:lines() #! /usr/bin/env lua io.type() closed file file:lines() 123 18.8 hello world i'm here file:lines() 123 18.8 hello world file:lines() i'm here file:lines() false test.lua:656: attempt to use a closed file file:lines() false test.lua:660: bad argument #3 to 'for iterator' (invalid format) io.popen() hello io.popen() true io.popen() true io.type() file io.popen() hello io.popen() true io.type() closed file io.popen() true ====================================================================== testing C API ... ====================================================================== isinteger true isinteger true isinteger true isinteger false isinteger false isinteger false ====================================================================== rotate 6 1 2 3 4 5 rotate 2 3 4 5 6 1 rotate 3 4 5 6 1 2 rotate 5 6 1 2 3 4 ====================================================================== strtonum 123 5 strtonum 123 6 strtonum -1.23 6 strtonum 0 0 strtonum 0 0 ====================================================================== requiref table table table true true false nil table table ====================================================================== getextraspace uvw getextraspace abc getextraspace uvw getextraspace abc getextraspace xyz getextraspace abc getextraspace uvw getextraspace xyz ====================================================================== geti/seti nil nil geti/seti 0 geti/seti nil 1 geti/seti 1 geti/seti nil 2 ====================================================================== tonumber 12 tonumber 12 tonumber 0 tonumber nil tonumber nil ====================================================================== tointeger 12 12 tointeger 12 12 tointeger nil 0 tointeger nil 0 tointeger nil 0 tointeger nil 0 tointeger 12 12 tointeger 0 0 tointeger nil 0 tointeger nil 0 tointeger nil 0 ====================================================================== len 3 3 len 3 3 len false attempt to get length of a boolean value len 5 5 len false object length is not an integer ====================================================================== copy 1 1 1 1 ====================================================================== rawgetp/rawsetp hello again rawgetp/rawsetp I'm back ====================================================================== globals table true ====================================================================== getsubtable table newtable getsubtable table oldtable true ====================================================================== udata userdata userdata utype1 udata userdata: 0 userdata: 0 utype1 ====================================================================== uservalue table 5 ====================================================================== upvalues 1 2 3 ====================================================================== absindex 1 2 3 table 3 2 1 hi true 1 ====================================================================== arith 3 1 2 2 0 2 -2 arith 8 -2 15 0.6 3 243 -3 ====================================================================== compare true false true compare false false false compare false true true ====================================================================== tolstring string 6 tolstring mytable 7 tolstring false '__tostring' must return a string tolstring XXX: yyy 1 ====================================================================== pushstring abc abc ab ab abc abc nil true ====================================================================== Buffer abcde ====================================================================== execresult true exit 0 execresult nil exit 1 execresult nil exit 25 ====================================================================== loadbufferx t 1 function 0 loadbufferx t 2 function 0 loadbufferx t 3 attempt to load a binary chunk (mode is 't') 3 loadbufferx t 4 [string "invalidsource"]:1: '=' expected near '' 3 loadbufferx t 5 attempt to load a binary chunk (mode is 't') 3 loadbufferx b 1 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 2 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 3 function 0 loadbufferx b 4 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 5 binary string: bad header in precompiled chunk 3 loadbufferx bt 1 function 0 loadbufferx bt 2 function 0 loadbufferx bt 3 function 0 loadbufferx bt 4 [string "invalidsource"]:1: '=' expected near '' 3 loadbufferx bt 5 binary string: bad header in precompiled chunk 3 ====================================================================== loadfilex t 1 function 0 loadfilex t 2 function 0 loadfilex t 3 attempt to load a binary chunk (mode is 't') 3 loadfilex t 4 /tmp/tmpnam_bonoEO:1: '=' expected near '' 3 loadfilex t 5 attempt to load a binary chunk (mode is 't') 3 loadfilex t 6 function 0 loadfilex t 7 attempt to load a binary chunk (mode is 't') 3 loadfilex t 8 /tmp/tmpnam_kaiDFO:2: '=' expected near '' 3 loadfilex t 9 attempt to load a binary chunk (mode is 't') 3 loadfilex b 1 attempt to load a text chunk (mode is 'b') 3 loadfilex b 2 attempt to load a text chunk (mode is 'b') 3 loadfilex b 3 function 0 loadfilex b 4 attempt to load a text chunk (mode is 'b') 3 loadfilex b 5 /tmp/tmpnam_eoKKFO: bad header in precompiled chunk 3 loadfilex b 6 attempt to load a text chunk (mode is 'b') 3 loadfilex b 7 function 0 loadfilex b 8 attempt to load a text chunk (mode is 'b') 3 loadfilex b 9 /tmp/tmpnam_FNlOFO: bad header in precompiled chunk 3 loadfilex bt 1 function 0 loadfilex bt 2 function 0 loadfilex bt 3 function 0 loadfilex bt 4 /tmp/tmpnam_gCLdFO:1: '=' expected near '' 3 loadfilex bt 5 /tmp/tmpnam_hCieFO: bad header in precompiled chunk 3 loadfilex bt 6 function 0 loadfilex bt 7 function 0 loadfilex bt 8 /tmp/tmpnam_abIiFO:2: '=' expected near '' 3 loadfilex bt 9 /tmp/tmpnam_acNjFO: bad header in precompiled chunk 3 ====================================================================== >>> lua-compat53: Testing Lua 5.2... testing Lua API using `compat53` ... ====================================================================== assert false assertion failed! assert false nil assert false error msg assert false table assert true 1 2 3 ====================================================================== ipairs 1 1 ipairs 2 false ipairs 3 three ====================================================================== table.concat abc table.concat b,c table.concat a.b table.concat abc table.concat b,c table.concat a.b ====================================================================== table.insert nil d table.insert nil z a table.insert nil z y a table.insert a b c d table.insert z a b c d table.insert z y a b c ====================================================================== table.move nil a b c d table.move nil b c d D table.move nil A B C b c table.move nil b c d d table.move nil a b c b c table.move a b c d table.move b c d D table.move A B C b c table.move b c d d table.move a b c b c ====================================================================== table.remove e table.remove nil a b c d nil table.remove a table.remove nil b c d nil table.remove c table.remove nil b d nil table.remove nil table.remove nil b d nil table.remove nil table.remove nil nil table.remove e table.remove a b c d nil table.remove a table.remove b c d nil table.remove c table.remove b d nil table.remove nil table.remove b d nil table.remove nil table.remove nil ====================================================================== table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 3 table.sort 4 4 table.sort 5 5 table.sort 6 6 table.sort 7 7 table.sort 8 8 table.sort 9 9 table.sort nil table.sort 1 9 table.sort 2 8 table.sort 3 7 table.sort 4 6 table.sort 5 5 table.sort 6 4 table.sort 7 3 table.sort 8 2 table.sort 9 1 table.sort nil table.sort 1 1 table.sort 2 1 table.sort 3 1 table.sort 4 1 table.sort 5 1 table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort 1 9 table.sort 2 8 table.sort 3 7 table.sort 4 5 table.sort 5 5 table.sort 6 4 table.sort 7 3 table.sort 8 2 table.sort 9 2 table.sort 10 1 ====================================================================== table.unpack a b c table.unpack b c table.unpack a b table.unpack a b c table.unpack b c table.unpack a b ====================================================================== math.maxinteger false math.mininteger false ====================================================================== math.tointeger 0 math.tointeger nil math.tointeger 123 math.tointeger nil math.tointeger nil math.tointeger nil ====================================================================== math.type integer math.type float math.type nil ====================================================================== math.ult true false math.ult false true math.ult false true math.ult false bad argument #1 to 'math.ult' (number expected, got string) math.ult false bad argument #2 to 'math.ult' (number has no integer representation) ====================================================================== utf8.codes 1 3 5 7 9 11 13 utf8.codes 228 246 252 223 196 214 220 utf8.codepoint 228 246 252 223 196 214 220 utf8.len 7 7 14 utf8.char äöüßÄÖÜ utf8.codes 1 2 3 4 5 6 7 utf8.codes 97 98 99 100 101 102 103 utf8.codepoint 97 98 99 100 101 102 103 utf8.len 7 7 7 utf8.char abcdefg ====================================================================== utf8.offset 1 utf8.offset 3 utf8.offset 5 utf8.offset false initial position is a continuation byte utf8.offset 7 utf8.offset 5 utf8.offset 3 utf8.offset 1 utf8.offset 13 ====================================================================== string.unpack -128 255 -32768 65535 -2147483648 4294967295 -32768 65536 1.25 abc defgh 56 ====================================================================== testing Lua API for Lua 5.1 ... ====================================================================== debug.getuservalue() nil debug.setuservalue() false test.lua:304: bad argument #1 to 'setuservalue' (userdata expected, got boolean) debug.setmetatable() table ====================================================================== pairs() a a ====================================================================== load() false test.lua:324: bad argument #1 to 'load' (function expected, got boolean) load() nil [string "print('blub..."]:1: unfinished string near ''blub' load() function load() function load() nil attempt to load a text chunk (mode is 'b') load() function load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true load() function load() function load() function load() nil attempt to load a binary chunk (mode is 't') load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true load() nil (load):1: unfinished string near ''blub' load() function load() function load() nil attempt to load a text chunk (mode is 'b') load() function load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true load() function load() function load() function load() nil attempt to load a binary chunk (mode is 't') load() function load() false [string "[L]"]:1: attempt to call global 'print' (a nil value) load() true loadfile() nil bad.lua:1: unfinished string near ''blub' loadfile() function loadfile() nil attempt to load a text chunk (mode is 'b') loadfile() function loadfile() function loadfile() false good.lua:1: attempt to call global 'print' (a nil value) loadfile() true loadfile() function loadfile() function loadfile() nil attempt to load a binary chunk (mode is 't') loadfile() function loadfile() false [string "[L]"]:1: attempt to call global 'print' (a nil value) loadfile() true ====================================================================== xpcall() true 1 2 3 xpcall() false test.lua:403: argh stack traceback: [C]: in function 'error' test.lua:403: in function [C]: in function 'xpcall' test.lua:410: in main chunk [C]: in ? xpcall() false |test.lua:403: argh| xpcall() 2 xpcall() true str xpcall() pcall() 2 pcall() true str pcall() ====================================================================== rawlen() 1 3 ====================================================================== os.execute() nil exit 1 hello world! os.execute() true exit 0 sh: no_such_file: not found os.execute() nil exit 127 ====================================================================== table.(un)pack() 4 a nil b nil ====================================================================== coroutine.running() thread false coroutine.running() thread true coroutine.yield() false attempt to yield from outside a coroutine coroutine.yield() 1 2 3 coroutine.resume() false cannot resume non-suspended coroutine coroutine.resume() 1 2 3 coroutine.resume() true 1 2 3 coroutine.status() running coroutine.status() suspended coroutine.status() [co2] main is normal coroutine.status() [co2] co2 is running coroutine.status() suspended coroutine.status() [co1] main is normal coroutine.status() [co1] co2 is normal coroutine.status() dead ====================================================================== math.log() 6.9077552789821 math.log() 3 ====================================================================== package.searchpath() nil no file './no/such/module.lua' no file 'no/such/module/init.lua' no file '../no/such/module.lua' package.searchpath() nil package.searchpath() nil no file './compat53.lua' no file 'compat53/init.lua' no file '../compat53.lua' package.searchpath() nil no file './no|such|module.lua' no file 'no|such|module/init.lua' no file '../no|such|module.lua' ====================================================================== package.searchers my.module found package.searchers my.module found 2 ====================================================================== string.find() 2 3 string.find() 5 8 string.gmatch() abc string.gmatch() def string.gmatch() ghi string.gmatch() 4 string.gmatch() 4 string.gsub() abcXdefXghi 2 string.gsub() XXghi 2 string.gsub() abcXdefXghi 2 string.match() bc string.match() 8 string.rep() string.rep() b string.rep() cccc string.rep() string.rep() b string.rep() c|c|c|c string.format() "\"\\\0000\0010\2\13\ 0\0090\"" string.format() 3.100x%sxxtable: string.format() 3.100000 %true %s string.format() 3.1 %d %nil string.format() +3 %d %% file ( string.format() false test.lua:573: bad argument #2 to 'format' (number expected, got table) ====================================================================== hello world io.write() file io.tmpfile => file:write() file ====================================================================== io.read() 123 18.8 hello world i'm here io.read() 123 18.8 hello world i'm here file:read() 123 18.8 hello world i'm here file:read() 123 18.8 hello world i'm here io.open => file:write() userdata ====================================================================== io.lines() #! /usr/bin/env lua io.lines() #!/usr/bin/env lua io.lines() 123 18.8 hello world i'm here io.lines() 123 18.8 hello world io.lines() i'm here io.lines() false test.lua:631: bad argument #2 to 'for iterator' (invalid format) io.lines() false ../compat53/module.lua:245: cannot open file 'no_such_file.txt' (No such file or directory) io.type() file file:lines() #! /usr/bin/env lua io.type() closed file file:lines() 123 18.8 hello world i'm here file:lines() 123 18.8 hello world file:lines() i'm here file:lines() false ../compat53/file_mt.lua:36: attempt to use a closed file file:lines() false test.lua:660: bad argument #3 to 'for iterator' (invalid format) io.popen() hello io.popen() true exit 0 io.popen() true io.type() file io.popen() hello io.popen() nil exit 5 io.type() closed file io.popen() true ====================================================================== testing C API ... ====================================================================== isinteger true isinteger true isinteger true isinteger false isinteger false isinteger false ====================================================================== rotate 6 1 2 3 4 5 rotate 2 3 4 5 6 1 rotate 3 4 5 6 1 2 rotate 5 6 1 2 3 4 ====================================================================== strtonum 123 5 strtonum 123 6 strtonum -1.23 6 strtonum 0 0 strtonum 0 0 ====================================================================== requiref table table table true true false nil table table ====================================================================== getextraspace uvw getextraspace abc getextraspace uvw getextraspace abc getextraspace xyz getextraspace abc getextraspace uvw getextraspace xyz ====================================================================== geti/seti nil nil geti/seti 0 geti/seti nil 1 geti/seti 1 geti/seti nil 2 ====================================================================== tonumber 12 tonumber 12 tonumber 0 tonumber nil tonumber nil ====================================================================== tointeger 12 12 tointeger 12 12 tointeger nil 0 tointeger nil 0 tointeger nil 0 tointeger nil 0 tointeger 12 12 tointeger 0 0 tointeger nil 0 tointeger nil 0 tointeger nil 0 ====================================================================== len 3 3 len 3 3 len false attempt to get length of a boolean value len 5 5 len false object length is not a number ====================================================================== copy 1 1 1 1 ====================================================================== rawgetp/rawsetp hello again rawgetp/rawsetp I'm back ====================================================================== globals table true ====================================================================== getsubtable table newtable getsubtable table oldtable true ====================================================================== udata userdata userdata utype1 udata userdata: 0 userdata: 0 utype1 ====================================================================== uservalue table 5 ====================================================================== upvalues 1 2 3 ====================================================================== absindex 1 2 3 table 3 2 1 hi true 1 ====================================================================== arith 3 1 2 2 0 2 -2 arith 8 -2 15 0.6 3 243 -3 ====================================================================== compare true false true compare false false false compare false true true ====================================================================== tolstring string 6 tolstring mytable 7 tolstring false '__tostring' must return a string tolstring XXX: yyy 1 ====================================================================== pushstring abc abc ab ab abc abc nil true ====================================================================== Buffer abcde ====================================================================== execresult true exit 0 execresult nil exit 1 execresult nil exit 25 ====================================================================== loadbufferx t 1 function 0 loadbufferx t 2 function 0 loadbufferx t 3 attempt to load a binary chunk (mode is 't') 3 loadbufferx t 4 [string "invalidsource"]:1: syntax error near 3 loadbufferx t 5 attempt to load a binary chunk (mode is 't') 3 loadbufferx b 1 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 2 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 3 function 0 loadbufferx b 4 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 5 binary string: truncated precompiled chunk 3 loadbufferx bt 1 function 0 loadbufferx bt 2 function 0 loadbufferx bt 3 function 0 loadbufferx bt 4 [string "invalidsource"]:1: syntax error near 3 loadbufferx bt 5 binary string: truncated precompiled chunk 3 ====================================================================== loadfilex t 1 function 0 loadfilex t 2 function 0 loadfilex t 3 attempt to load a binary chunk (mode is 't') 3 loadfilex t 4 /tmp/tmpnam_INDOaO:1: syntax error near 3 loadfilex t 5 attempt to load a binary chunk (mode is 't') 3 loadfilex t 6 function 0 loadfilex t 7 attempt to load a binary chunk (mode is 't') 3 loadfilex t 8 /tmp/tmpnam_JcAcaO:2: syntax error near 3 loadfilex t 9 attempt to load a binary chunk (mode is 't') 3 loadfilex b 1 attempt to load a text chunk (mode is 'b') 3 loadfilex b 2 attempt to load a text chunk (mode is 'b') 3 loadfilex b 3 function 0 loadfilex b 4 attempt to load a text chunk (mode is 'b') 3 loadfilex b 5 /tmp/tmpnam_LmFhaO: truncated precompiled chunk 3 loadfilex b 6 attempt to load a text chunk (mode is 'b') 3 loadfilex b 7 function 0 loadfilex b 8 attempt to load a text chunk (mode is 'b') 3 loadfilex b 9 /tmp/tmpnam_MfjkaO: truncated precompiled chunk 3 loadfilex bt 1 function 0 loadfilex bt 2 function 0 loadfilex bt 3 function 0 loadfilex bt 4 /tmp/tmpnam_nIgoaO:1: syntax error near 3 loadfilex bt 5 /tmp/tmpnam_FHdpaO: truncated precompiled chunk 3 loadfilex bt 6 function 0 loadfilex bt 7 function 0 loadfilex bt 8 /tmp/tmpnam_GgcCbO:2: syntax error near 3 loadfilex bt 9 /tmp/tmpnam_GpCEbO: truncated precompiled chunk 3 ====================================================================== >>> lua-compat53: Testing Lua 5.3... testing Lua API using `compat53` ... ====================================================================== assert false assertion failed! assert false nil assert false error msg assert false table assert true 1 2 3 ====================================================================== ipairs 1 1 ipairs 2 false ipairs 3 three ====================================================================== table.concat abc table.concat b,c table.concat a.b table.concat abc table.concat b,c table.concat a.b ====================================================================== table.insert nil d table.insert nil z a table.insert nil z y a table.insert a b c d table.insert z a b c d table.insert z y a b c ====================================================================== table.move nil a b c d table.move nil b c d D table.move nil A B C b c table.move nil b c d d table.move nil a b c b c table.move a b c d table.move b c d D table.move A B C b c table.move b c d d table.move a b c b c ====================================================================== table.remove e table.remove nil a b c d nil table.remove a table.remove nil b c d nil table.remove c table.remove nil b d nil table.remove nil table.remove nil b d nil table.remove nil table.remove nil nil table.remove e table.remove a b c d nil table.remove a table.remove b c d nil table.remove c table.remove b d nil table.remove nil table.remove b d nil table.remove nil table.remove nil ====================================================================== table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort nil table.sort 1 1 table.sort 2 2 table.sort 3 3 table.sort 4 4 table.sort 5 5 table.sort 6 6 table.sort 7 7 table.sort 8 8 table.sort 9 9 table.sort nil table.sort 1 9 table.sort 2 8 table.sort 3 7 table.sort 4 6 table.sort 5 5 table.sort 6 4 table.sort 7 3 table.sort 8 2 table.sort 9 1 table.sort nil table.sort 1 1 table.sort 2 1 table.sort 3 1 table.sort 4 1 table.sort 5 1 table.sort 1 1 table.sort 2 2 table.sort 3 2 table.sort 4 3 table.sort 5 4 table.sort 6 5 table.sort 7 5 table.sort 8 7 table.sort 9 8 table.sort 10 9 table.sort 1 9 table.sort 2 8 table.sort 3 7 table.sort 4 5 table.sort 5 5 table.sort 6 4 table.sort 7 3 table.sort 8 2 table.sort 9 2 table.sort 10 1 ====================================================================== table.unpack a b c table.unpack b c table.unpack a b table.unpack a b c table.unpack b c table.unpack a b ====================================================================== math.maxinteger false math.mininteger false ====================================================================== math.tointeger 0 math.tointeger nil math.tointeger 123 math.tointeger nil math.tointeger nil math.tointeger nil ====================================================================== math.type integer math.type float math.type nil ====================================================================== math.ult true false math.ult false true math.ult false true math.ult false bad argument #1 to 'math.ult' (number expected, got string) math.ult false bad argument #2 to 'math.ult' (number has no integer representation) ====================================================================== utf8.codes 1 3 5 7 9 11 13 utf8.codes 228 246 252 223 196 214 220 utf8.codepoint 228 246 252 223 196 214 220 utf8.len 7 7 14 utf8.char äöüßÄÖÜ utf8.codes 1 2 3 4 5 6 7 utf8.codes 97 98 99 100 101 102 103 utf8.codepoint 97 98 99 100 101 102 103 utf8.len 7 7 7 utf8.char abcdefg ====================================================================== utf8.offset 1 utf8.offset 3 utf8.offset 5 utf8.offset false initial position is a continuation byte utf8.offset 7 utf8.offset 5 utf8.offset 3 utf8.offset 1 utf8.offset 13 ====================================================================== string.unpack -128 255 -32768 65535 -2147483648 4294967295 -32768 65536 1.25 abc defgh 56 ====================================================================== testing Lua API for Lua 5.1 ... ====================================================================== debug.getuservalue() nil debug.setuservalue() false test.lua:304: bad argument #1 to 'setuservalue' (userdata expected, got boolean) debug.setmetatable() table ====================================================================== pairs() a a ====================================================================== load() false test.lua:324: bad argument #1 to 'load' (function expected, got boolean) load() nil [string "print('blub..."]:1: unfinished string near ''blub' load() function load() function load() nil attempt to load a text chunk (mode is 'b') load() function load() function load() false [string "[L]"]:1: attempt to call a nil value (global 'print') load() true load() function load() function load() function load() nil attempt to load a binary chunk (mode is 't') load() function load() false [string "[L]"]:1: attempt to call a nil value (global 'print') load() true load() nil (load):1: unfinished string near ''blub' load() function load() function load() nil attempt to load a text chunk (mode is 'b') load() function load() function load() false [string "[L]"]:1: attempt to call a nil value (global 'print') load() true load() function load() function load() function load() nil attempt to load a binary chunk (mode is 't') load() function load() false [string "[L]"]:1: attempt to call a nil value (global 'print') load() true loadfile() nil bad.lua:1: unfinished string near ''blub' loadfile() function loadfile() nil attempt to load a text chunk (mode is 'b') loadfile() function loadfile() function loadfile() false good.lua:1: attempt to call a nil value (global 'print') loadfile() true loadfile() function loadfile() function loadfile() nil attempt to load a binary chunk (mode is 't') loadfile() function loadfile() false [string "[L]"]:1: attempt to call a nil value (global 'print') loadfile() true ====================================================================== xpcall() true 1 2 3 xpcall() false test.lua:403: argh stack traceback: [C]: in function 'error' test.lua:403: in function [C]: in function 'xpcall' test.lua:410: in main chunk [C]: in ? xpcall() false |test.lua:403: argh| xpcall() 2 xpcall() true str xpcall() pcall() 2 pcall() true str pcall() ====================================================================== rawlen() 1 3 ====================================================================== os.execute() nil exit 1 hello world! os.execute() true exit 0 sh: no_such_file: not found os.execute() nil exit 127 ====================================================================== table.(un)pack() 4 a nil b nil ====================================================================== coroutine.running() thread false coroutine.running() thread true coroutine.yield() false attempt to yield from outside a coroutine coroutine.yield() 1 2 3 coroutine.resume() false cannot resume non-suspended coroutine coroutine.resume() 1 2 3 coroutine.resume() true 1 2 3 coroutine.status() running coroutine.status() suspended coroutine.status() [co2] main is normal coroutine.status() [co2] co2 is running coroutine.status() suspended coroutine.status() [co1] main is normal coroutine.status() [co1] co2 is normal coroutine.status() dead ====================================================================== math.log() 6.9077552789821 math.log() 3.0 ====================================================================== package.searchpath() nil no file './no/such/module.lua' no file 'no/such/module/init.lua' no file '../no/such/module.lua' package.searchpath() nil package.searchpath() nil no file './compat53.lua' no file 'compat53/init.lua' no file '../compat53.lua' package.searchpath() nil no file './no|such|module.lua' no file 'no|such|module/init.lua' no file '../no|such|module.lua' ====================================================================== package.searchers my.module found package.searchers my.module found 2 ====================================================================== string.find() 2 3 string.find() 5 8 string.gmatch() abc string.gmatch() def string.gmatch() ghi string.gmatch() 4 string.gmatch() 4 string.gsub() abcXdefXghi 2 string.gsub() XXghi 2 string.gsub() abcXdefXghi 2 string.match() bc string.match() 8 string.rep() string.rep() b string.rep() cccc string.rep() string.rep() b string.rep() c|c|c|c string.format() "\"\\\0000\0010\2\13\ 0\0090\"" string.format() 3.100x%sxxtable: string.format() 3.100000 %true %s string.format() 3.1 %d %nil string.format() +3 %d %% file ( string.format() false test.lua:573: bad argument #2 to 'format' (number expected, got table) ====================================================================== hello world io.write() file io.tmpfile => file:write() file ====================================================================== io.read() 123 18.8 hello world i'm here io.read() 123 18.8 hello world i'm here file:read() 123 18.8 hello world i'm here file:read() 123 18.8 hello world i'm here io.open => file:write() userdata ====================================================================== io.lines() #! /usr/bin/env lua io.lines() #!/usr/bin/env lua io.lines() 123 18.8 hello world i'm here io.lines() 123 18.8 hello world io.lines() i'm here io.lines() false test.lua:631: bad argument #2 to 'for iterator' (invalid format) io.lines() false test.lua:634: cannot open file 'no_such_file.txt' (No such file or directory) io.type() file file:lines() #! /usr/bin/env lua io.type() closed file file:lines() 123 18.8 hello world i'm here file:lines() 123 18.8 hello world file:lines() i'm here file:lines() false test.lua:656: attempt to use a closed file file:lines() false test.lua:660: bad argument #3 to 'for iterator' (invalid format) io.popen() hello io.popen() true exit 0 io.popen() true io.type() file io.popen() hello io.popen() nil exit 5 io.type() closed file io.popen() true ====================================================================== testing C API ... ====================================================================== isinteger true isinteger true isinteger true isinteger false isinteger false isinteger false ====================================================================== rotate 6 1 2 3 4 5 rotate 2 3 4 5 6 1 rotate 3 4 5 6 1 2 rotate 5 6 1 2 3 4 ====================================================================== strtonum 123 5 strtonum 123 6 strtonum -1.23 6 strtonum 0.0 0 strtonum 0.0 0 ====================================================================== requiref table table table true true false nil table table ====================================================================== getextraspace uvw getextraspace abc getextraspace uvw getextraspace abc getextraspace xyz getextraspace abc getextraspace uvw getextraspace xyz ====================================================================== geti/seti nil nil geti/seti 0 geti/seti nil 1 geti/seti 1 geti/seti nil 2 ====================================================================== tonumber 12.0 tonumber 12.0 tonumber 0.0 tonumber nil tonumber nil ====================================================================== tointeger 12 12 tointeger 12 12 tointeger nil 0 tointeger nil 0 tointeger nil 0 tointeger nil 0 tointeger 12 12 tointeger 0 0 tointeger nil 0 tointeger nil 0 tointeger nil 0 ====================================================================== len 3 3 len 3 3 len false attempt to get length of a boolean value len 5 5 len false object length is not an integer ====================================================================== copy 1 1 1 1 ====================================================================== rawgetp/rawsetp hello again rawgetp/rawsetp I'm back ====================================================================== globals table true ====================================================================== getsubtable table newtable getsubtable table oldtable true ====================================================================== udata userdata userdata utype1 udata userdata: 0 userdata: 0 utype1 ====================================================================== uservalue table 5 ====================================================================== upvalues 1.0 2.0 3.0 ====================================================================== absindex 1.0 2.0 3.0 table 3.0 2.0 1.0 hi true 1.0 ====================================================================== arith 3 1 2 2.0 0 2.0 -2 arith 8 -2 15 0.6 3 243.0 -3 ====================================================================== compare true false true compare false false false compare false true true ====================================================================== tolstring string 6 tolstring mytable 7 tolstring false '__tostring' must return a string tolstring XXX: yyy 1 ====================================================================== pushstring abc abc ab ab abc abc nil true ====================================================================== Buffer abcde ====================================================================== execresult true exit 0 execresult nil exit 1 execresult nil exit 25 ====================================================================== loadbufferx t 1 function 0 loadbufferx t 2 function 0 loadbufferx t 3 attempt to load a binary chunk (mode is 't') 3 loadbufferx t 4 [string "invalidsource"]:1: syntax error near 3 loadbufferx t 5 attempt to load a binary chunk (mode is 't') 3 loadbufferx b 1 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 2 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 3 function 0 loadbufferx b 4 attempt to load a text chunk (mode is 'b') 3 loadbufferx b 5 binary string: not a precompiled chunk 3 loadbufferx bt 1 function 0 loadbufferx bt 2 function 0 loadbufferx bt 3 function 0 loadbufferx bt 4 [string "invalidsource"]:1: syntax error near 3 loadbufferx bt 5 binary string: not a precompiled chunk 3 ====================================================================== loadfilex t 1 function 0 loadfilex t 2 function 0 loadfilex t 3 attempt to load a binary chunk (mode is 't') 3 loadfilex t 4 /tmp/tmpnam_hKLpjO:1: syntax error near 3 loadfilex t 5 attempt to load a binary chunk (mode is 't') 3 loadfilex t 6 function 0 loadfilex t 7 attempt to load a binary chunk (mode is 't') 3 loadfilex t 8 /tmp/tmpnam_AHIDkO:2: syntax error near 3 loadfilex t 9 attempt to load a binary chunk (mode is 't') 3 loadfilex b 1 attempt to load a text chunk (mode is 'b') 3 loadfilex b 2 attempt to load a text chunk (mode is 'b') 3 loadfilex b 3 function 0 loadfilex b 4 attempt to load a text chunk (mode is 'b') 3 loadfilex b 5 /tmp/tmpnam_JmjHkO: not a precompiled chunk 3 loadfilex b 6 attempt to load a text chunk (mode is 'b') 3 loadfilex b 7 function 0 loadfilex b 8 attempt to load a text chunk (mode is 'b') 3 loadfilex b 9 /tmp/tmpnam_cEiKkO: not a precompiled chunk 3 loadfilex bt 1 function 0 loadfilex bt 2 function 0 loadfilex bt 3 function 0 loadfilex bt 4 /tmp/tmpnam_LNmNkO:1: syntax error near 3 loadfilex bt 5 /tmp/tmpnam_lHeOkO: not a precompiled chunk 3 loadfilex bt 6 function 0 loadfilex bt 7 function 0 loadfilex bt 8 /tmp/tmpnam_MjJbkO:2: syntax error near 3 loadfilex bt 9 /tmp/tmpnam_mKDckO: not a precompiled chunk 3 ====================================================================== >>> lua-compat53: Entering fakeroot... >>> lua-compat53-dev*: Running split function dev... >>> lua-compat53-dev*: Preparing subpackage lua-compat53-dev... >>> lua-compat53-dev*: Stripping binaries >>> lua-compat53-dev*: Running postcheck for lua-compat53-dev >>> lua5.1-compat53*: Running split function _package... >>> lua5.1-compat53*: Preparing subpackage lua5.1-compat53... >>> lua5.1-compat53*: Stripping binaries >>> lua5.1-compat53*: Running postcheck for lua5.1-compat53 >>> lua5.2-compat53*: Running split function _package... >>> lua5.2-compat53*: Preparing subpackage lua5.2-compat53... >>> lua5.2-compat53*: Stripping binaries >>> lua5.2-compat53*: Running postcheck for lua5.2-compat53 >>> lua5.3-compat53*: Running split function _package... >>> lua5.3-compat53*: Preparing subpackage lua5.3-compat53... >>> lua5.3-compat53*: Stripping binaries >>> lua5.3-compat53*: Running postcheck for lua5.3-compat53 >>> lua-compat53*: Running postcheck for lua-compat53 >>> lua-compat53*: Preparing package lua-compat53... >>> lua-compat53*: Stripping binaries >>> WARNING: lua-compat53*: No arch specific binaries found so arch should probably be set to "noarch" >>> lua-compat53*: Scanning shared objects >>> lua-compat53-dev*: Scanning shared objects >>> lua5.1-compat53*: Scanning shared objects >>> lua5.2-compat53*: Scanning shared objects >>> lua5.3-compat53*: Scanning shared objects >>> lua-compat53-dev*: Tracing dependencies... >>> lua-compat53-dev*: Package size: 47.8 KB >>> lua-compat53-dev*: Compressing data... >>> lua-compat53-dev*: Create checksum... >>> lua-compat53-dev*: Create lua-compat53-dev-0.14.4-r0.apk >>> lua-compat53*: Tracing dependencies... >>> lua-compat53*: Package size: 0.0 >>> lua-compat53*: Compressing data... >>> lua-compat53*: Create checksum... >>> lua-compat53*: Create lua-compat53-0.14.4-r0.apk >>> lua5.1-compat53*: Tracing dependencies... lua5.1 so:libc.musl-aarch64.so.1 >>> lua5.1-compat53*: Package size: 237.4 KB >>> lua5.1-compat53*: Compressing data... >>> lua5.1-compat53*: Create checksum... >>> lua5.1-compat53*: Create lua5.1-compat53-0.14.4-r0.apk >>> lua5.2-compat53*: Tracing dependencies... lua5.2 so:libc.musl-aarch64.so.1 >>> lua5.2-compat53*: Package size: 237.4 KB >>> lua5.2-compat53*: Compressing data... >>> lua5.2-compat53*: Create checksum... >>> lua5.2-compat53*: Create lua5.2-compat53-0.14.4-r0.apk >>> lua5.3-compat53*: Tracing dependencies... lua5.3 so:libc.musl-aarch64.so.1 >>> lua5.3-compat53*: Package size: 237.4 KB >>> lua5.3-compat53*: Compressing data... >>> lua5.3-compat53*: Create checksum... >>> lua5.3-compat53*: Create lua5.3-compat53-0.14.4-r0.apk >>> lua-compat53: Build complete at Fri, 19 Dec 2025 00:15:01 +0000 elapsed time 0h 0m 6s >>> lua-compat53: Cleaning up srcdir >>> lua-compat53: Cleaning up pkgdir >>> lua-compat53: Cleaning up tmpdir >>> lua-compat53: Uninstalling dependencies... ( 1/11) Purging .makedepends-lua-compat53 (20251219.001456) ( 2/11) Purging lua5.1-dev (5.1.5-r13) ( 3/11) Purging lua5.1 (5.1.5-r13) ( 4/11) Purging lua5.1-libs (5.1.5-r13) ( 5/11) Purging lua5.2-dev (5.2.4-r13) ( 6/11) Purging lua5.2 (5.2.4-r13) ( 7/11) Purging lua5.2-libs (5.2.4-r13) ( 8/11) Purging lua5.3-dev (5.3.6-r6) ( 9/11) Purging lua5.3 (5.3.6-r6) (10/11) Purging lua5.3-libs (5.3.6-r6) (11/11) Purging linenoise (1.0-r5) Executing busybox-1.37.0-r30.trigger OK: 432.8 MiB in 109 packages >>> lua-compat53: Updating the community/aarch64 repository index... >>> lua-compat53: Signing the index...