скрипт с аргументами:
#!/usr/bin/env tarantool
local result = require('luatest.sandboxed_runner').run()
os.exit(result)
Видно, что вызывается функция run() модуля luatest.sandboxed_runner:
function export.run(...)
local args = {...}
return export.gc_sandboxed(function() return require('luatest').runner.run(unpack(args)) end)
end
Вопрос: почему функция вызывается без аргументов, однако аргументы вызывающего скрипта (судя по всему) в неё таки утекают?
С чего взяли, что утекают?
в луа есть глобальная таблица arg. насколько я помню, там должен быть фолбэк на нее, если в опциях явно не указаны другие
https://github.com/tarantool/luatest/blob/70aefd78b9e66fc0bc12d6415dae111713695a82/luatest/runner.lua#L38
Обсуждают сегодня