From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp17.mail.ru (smtp17.mail.ru [94.100.176.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 677DC4696C0 for ; Tue, 12 May 2020 12:53:09 +0300 (MSK) From: sergeyb@tarantool.org Date: Tue, 12 May 2020 12:50:01 +0300 Message-Id: <40e8da837e206592e5dd623284d1506ef57aec56.1589275364.git.sergeyb@tarantool.org> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v5 05/10] Fix luacheck warnings in src/lua/ List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org Cc: Vladislav Shpilevoy , o.piskunov@tarantool.org From: Sergey Bronnikov Closes #4681 Reviewed-by: Vladislav Shpilevoy Reviewed-by: Igor Munkin Co-authored-by: Vladislav Shpilevoy Co-authored-by: Igor Munkin --- src/lua/argparse.lua | 6 ++-- src/lua/buffer.lua | 4 +-- src/lua/clock.lua | 2 +- src/lua/crypto.lua | 4 +-- src/lua/csv.lua | 5 ++- src/lua/digest.lua | 2 +- src/lua/env.lua | 2 +- src/lua/fiber.lua | 4 +-- src/lua/fio.lua | 37 +++++++++++---------- src/lua/help.lua | 7 ++-- src/lua/httpc.lua | 3 -- src/lua/init.lua | 7 ++-- src/lua/msgpackffi.lua | 22 +++++-------- src/lua/socket.lua | 65 ++++++++++++++++++------------------- src/lua/string.lua | 1 - src/lua/swim.lua | 10 +++--- src/lua/tap.lua | 74 ++++++++++++++++++++---------------------- src/lua/trigger.lua | 3 -- 18 files changed, 120 insertions(+), 138 deletions(-) diff --git a/src/lua/argparse.lua b/src/lua/argparse.lua index faa0ae130..3cde005ea 100644 --- a/src/lua/argparse.lua +++ b/src/lua/argparse.lua @@ -90,8 +90,8 @@ local function convert_parameter(name, convert_from, convert_to) return convert_from end -local function parameters_parse(t_in, options) - local t_out, t_in = {}, t_in or {} +local function parameters_parse(param, options) + local t_out, t_in = {}, param or {} -- Prepare a lookup table for options. An option name -> a -- type name to convert a parameter into or true (which means @@ -145,7 +145,7 @@ local function parameters_parse(t_in, options) if parameter_has_value(lookup[command]) then -- in case next argument is value of this key (not --arg) local next_arg = t_in[i + 1] - local is_long, is_short, is_dash = parse_param_prefix(next_arg) + is_long, is_short, is_dash = parse_param_prefix(next_arg) if is_dash then skip_param = true elseif is_long == false and not is_short and not is_dash then diff --git a/src/lua/buffer.lua b/src/lua/buffer.lua index 9aac82b39..43c7e1170 100644 --- a/src/lua/buffer.lua +++ b/src/lua/buffer.lua @@ -182,7 +182,7 @@ local ibuf_methods = { unused = ibuf_unused; } -local function ibuf_tostring(ibuf) +local function ibuf_tostring() return '' end local ibuf_mt = { @@ -193,7 +193,7 @@ local ibuf_mt = { ffi.metatype(ibuf_t, ibuf_mt); -local function ibuf_new(arg, arg2) +local function ibuf_new(arg) local buf = ffi.new(ibuf_t) local slabc = builtin.tarantool_lua_slab_cache() builtin.ibuf_create(buf, slabc, READAHEAD) diff --git a/src/lua/clock.lua b/src/lua/clock.lua index 60c78663c..fee43ccde 100644 --- a/src/lua/clock.lua +++ b/src/lua/clock.lua @@ -33,7 +33,7 @@ clock.bench = function(fun, ...) overhead = clock.proc() - overhead local start_time = clock.proc() local res = {0, fun(...)} - res[1] = clock.proc() - start_time - overhead, res + res[1] = clock.proc() - start_time - overhead return res end diff --git a/src/lua/crypto.lua b/src/lua/crypto.lua index bf3064c70..c0eb0d303 100644 --- a/src/lua/crypto.lua +++ b/src/lua/crypto.lua @@ -75,7 +75,7 @@ local function openssl_err_str() end local digests = {} -for class, name in pairs({ +for class, _ in pairs({ md2 = 'MD2', md4 = 'MD4', md5 = 'MD5', sha1 = 'SHA1', sha224 = 'SHA224', sha256 = 'SHA256', sha384 = 'SHA384', sha512 = 'SHA512', @@ -428,7 +428,7 @@ local public_methods = { } local module_mt = { - __serialize = function(s) + __serialize = function() return public_methods end, __index = public_methods diff --git a/src/lua/csv.lua b/src/lua/csv.lua index 7dff2f213..de6726bb7 100644 --- a/src/lua/csv.lua +++ b/src/lua/csv.lua @@ -188,10 +188,10 @@ module.dump = function(t, opts, writable) if type(writable) == 'nil' then result_table = {} end - for k, line in pairs(t) do + for _, line in pairs(t) do local first = true local output_tuple = {} - for k2, field in pairs(line) do + for _, field in pairs(line) do local strf = tostring(field) local buf_new_size = (strf:len() + 1) * 2 if buf_new_size > bufsz then @@ -214,7 +214,6 @@ module.dump = function(t, opts, writable) else writable:write(table.concat(output_tuple)) end - output_tuple = {} end ffi.C.csv_destroy(csv) csv.realloc(buf, 0) diff --git a/src/lua/digest.lua b/src/lua/digest.lua index 6ed91cfa2..7f1aea8d0 100644 --- a/src/lua/digest.lua +++ b/src/lua/digest.lua @@ -246,7 +246,7 @@ local m = { end } -for digest, name in pairs(digest_shortcuts) do +for digest, _ in pairs(digest_shortcuts) do m[digest] = function (str) return crypto.digest[digest](str) end diff --git a/src/lua/env.lua b/src/lua/env.lua index dd1616a84..a31b7098f 100644 --- a/src/lua/env.lua +++ b/src/lua/env.lua @@ -28,7 +28,7 @@ os.environ = function() end os.setenv = function(key, value) - local rv = nil + local rv if value ~= nil then rv = ffi.C.setenv(key, value, 1) else diff --git a/src/lua/fiber.lua b/src/lua/fiber.lua index 89c17f63d..b14117714 100644 --- a/src/lua/fiber.lua +++ b/src/lua/fiber.lua @@ -39,8 +39,8 @@ local stall = fiber.stall fiber.stall = nil local worker_next_task = nil -local worker_last_task = nil -local worker_fiber = nil +local worker_last_task +local worker_fiber -- -- Worker is a singleton fiber for not urgent delayed execution of diff --git a/src/lua/fio.lua b/src/lua/fio.lua index 83fddaa0a..cf770c661 100644 --- a/src/lua/fio.lua +++ b/src/lua/fio.lua @@ -329,7 +329,7 @@ fio.abspath = function(path) error("Usage: fio.abspath(path)") end path = path - local joined_path = '' + local joined_path local path_tab = {} if string.sub(path, 1, 1) == '/' then joined_path = path @@ -366,7 +366,7 @@ fio.listdir = function(path) return t end local names = string.split(str, "\n") - for i, name in ipairs(names) do + for _, name in ipairs(names) do table.insert(t, name) end return t @@ -378,15 +378,15 @@ fio.mktree = function(path, mode) end path = fio.abspath(path) - local path = string.gsub(path, '^/', '') + path = string.gsub(path, '^/', '') local dirs = string.split(path, "/") local current_dir = "/" - for i, dir in ipairs(dirs) do + for _, dir in ipairs(dirs) do current_dir = fio.pathjoin(current_dir, dir) local stat = fio.stat(current_dir) if stat == nil then - local st, err = fio.mkdir(current_dir, mode) + local _, err = fio.mkdir(current_dir, mode) -- fio.stat() and fio.mkdir() above are separate calls -- and a file system may be changed between them. So -- if the error here is due to an existing directory, @@ -407,27 +407,27 @@ fio.rmtree = function(path) if type(path) ~= 'string' then error("Usage: fio.rmtree(path)") end - local status, err path = fio.abspath(path) local ls, err = fio.listdir(path) if err ~= nil then return nil, err end - for i, f in ipairs(ls) do + for _, f in ipairs(ls) do local tmppath = fio.pathjoin(path, f) local st = fio.lstat(tmppath) if st then if st:is_dir() then - st, err = fio.rmtree(tmppath) + _, err = fio.rmtree(tmppath) else - st, err = fio.unlink(tmppath) + _, err = fio.unlink(tmppath) end if err ~= nil then return nil, err end end end - status, err = fio.rmdir(path) + local _ + _, err = fio.rmdir(path) if err ~= nil then return false, string.format("failed to remove %s: %s", path, err) end @@ -453,7 +453,7 @@ fio.copytree = function(from, to) if type(from) ~= 'string' or type(to) ~= 'string' then error('Usage: fio.copytree(from, to)') end - local status, reason + local reason, _ local st = fio.stat(from) if not st then return false, string.format("Directory %s does not exist", from) @@ -467,32 +467,33 @@ fio.copytree = function(from, to) end -- create tree of destination - status, reason = fio.mktree(to) + _, reason = fio.mktree(to) if reason ~= nil then return false, reason end - for i, f in ipairs(ls) do + for _, f in ipairs(ls) do local ffrom = fio.pathjoin(from, f) local fto = fio.pathjoin(to, f) - local st = fio.lstat(ffrom) + st = fio.lstat(ffrom) if st and st:is_dir() then - status, reason = fio.copytree(ffrom, fto) + _, reason = fio.copytree(ffrom, fto) if reason ~= nil then return false, reason end end if st:is_reg() then - status, reason = fio.copyfile(ffrom, fto) + _, reason = fio.copyfile(ffrom, fto) if reason ~= nil then return false, reason end end if st:is_link() then - local link_to, reason = fio.readlink(ffrom) + local link_to + link_to, reason = fio.readlink(ffrom) if reason ~= nil then return false, reason end - status, reason = fio.symlink(link_to, fto) + _, reason = fio.symlink(link_to, fto) if reason ~= nil then return false, "can't create symlink in place of existing file "..fto end diff --git a/src/lua/help.lua b/src/lua/help.lua index 54ff1b5d0..4f024832d 100644 --- a/src/lua/help.lua +++ b/src/lua/help.lua @@ -11,10 +11,7 @@ help = { doc.help } tutorial = {} tutorial[1] = help[1] -local help_function_data = {}; -local help_object_data = {} - -local function help_call(table, param) +local function help_call() return help end @@ -22,7 +19,7 @@ setmetatable(help, { __call = help_call }) local screen_id = 1; -local function tutorial_call(table, action) +local function tutorial_call(self, action) if action == 'start' then screen_id = 1; elseif action == 'next' or action == 'more' then diff --git a/src/lua/httpc.lua b/src/lua/httpc.lua index 6381c6a1a..9336dcee0 100644 --- a/src/lua/httpc.lua +++ b/src/lua/httpc.lua @@ -29,8 +29,6 @@ -- SUCH DAMAGE. -- -local fiber = require('fiber') - local driver = package.loaded.http.client package.loaded.http = nil @@ -112,7 +110,6 @@ local special_characters = { [']'] = true, ['<'] = true, ['>'] = true, - ['>'] = true, ['@'] = true, [','] = true, [';'] = true, diff --git a/src/lua/init.lua b/src/lua/init.lua index ff3e74c3c..a831549d1 100644 --- a/src/lua/init.lua +++ b/src/lua/init.lua @@ -144,9 +144,9 @@ local function gen_search_func(path_fn, templates, need_traverse) local searchpaths = {} - for _, path in ipairs(paths) do + for _, p in ipairs(paths) do for _, template in pairs(templates) do - table.insert(searchpaths, fio.pathjoin(path, template)) + table.insert(searchpaths, fio.pathjoin(p, template)) end end @@ -176,7 +176,8 @@ local function gen_loader_func(search_fn, load_fn) if not file then return err end - local loaded, err = load_fn(file, name) + local loaded + loaded, err = load_fn(file, name) if err == nil then return loaded else diff --git a/src/lua/msgpackffi.lua b/src/lua/msgpackffi.lua index f01ffaef0..793f47854 100644 --- a/src/lua/msgpackffi.lua +++ b/src/lua/msgpackffi.lua @@ -302,10 +302,6 @@ local function encode(obj) return r end -local function encode_ibuf(obj, ibuf) - encode_r(ibuf, obj, 0) -end - on_encode(ffi.typeof('uint8_t'), encode_int) on_encode(ffi.typeof('uint16_t'), encode_int) on_encode(ffi.typeof('uint32_t'), encode_int) @@ -332,7 +328,6 @@ local decode_r -- See similar constants in utils.cc local DBL_INT_MAX = 1e14 - 1 -local DBL_INT_MIN = -1e14 + 1 local function decode_u8(data) local num = ffi.cast(uint8_ptr_t, data[0])[0] @@ -477,8 +472,7 @@ end local function decode_array(data, size) assert (type(size) == "number") local arr = {} - local i - for i=1,size,1 do + for _ = 1, size do table.insert(arr, decode_r(data)) end if not msgpack.cfg.decode_save_metatables then @@ -490,8 +484,7 @@ end local function decode_map(data, size) assert (type(size) == "number") local map = {} - local i - for i=1,size,1 do + for _ = 1, size do local key = decode_r(data); local val = decode_r(data); map[key] = val @@ -504,11 +497,15 @@ end local ext_decoder = { -- MP_UNKNOWN_EXTENSION - [0] = function(data, len) error("unsupported extension type") end, + [0] = function() error("unsupported extension type") end, -- MP_DECIMAL [1] = function(data, len) local num = ffi.new("decimal_t") builtin.decimal_unpack(data, len, num) return num end, -- MP_UUID - [2] = function(data, len) local uuid = ffi.new("struct tt_uuid") builtin.uuid_unpack(data, len, uuid) return uuid end, + [2] = function(data, len) + local uuid = ffi.new("struct tt_uuid") + builtin.uuid_unpack(data, len, uuid) + return uuid + end, } local function decode_ext(data) @@ -516,7 +513,6 @@ local function decode_ext(data) -- mp_decode_extl and mp_decode_decimal -- need type code data[0] = data[0] - 1 - local old_data = data[0] local len = builtin.mp_decode_extl(data, t) local fun = ext_decoder[t[0]] if type(fun) == 'function' then @@ -603,7 +599,7 @@ local function check_offset(offset, len) if offset == nil then return 1 end - local offset = ffi.cast('ptrdiff_t', offset) + offset = ffi.cast('ptrdiff_t', offset) if offset < 1 or offset > len then error(string.format("offset = %d is out of bounds [1..%d]", tonumber(offset), len)) diff --git a/src/lua/socket.lua b/src/lua/socket.lua index a334ad45b..317acfe8e 100644 --- a/src/lua/socket.lua +++ b/src/lua/socket.lua @@ -172,7 +172,7 @@ local function get_iflags(table, flags) if type(flags) ~= 'table' then flags = { flags } end - for i, f in pairs(flags) do + for _, f in pairs(flags) do if table[f] == nil then return nil end @@ -660,7 +660,7 @@ local function check_delimiter(self, limit, eols) end local shortest - for i, eol in ipairs(eols) do + for _, eol in ipairs(eols) do local data = ffi.C.memmem(rbuf.rpos, rbuf:size(), eol, #eol) if data ~= nil then local len = ffi.cast('char *', data) - rbuf.rpos + #eol @@ -706,16 +706,16 @@ local function read(self, limit, timeout, check, ...) local res = sysread(self, data, rbuf:unused()) if res == 0 then -- eof self._errno = nil - local len = rbuf:size() - local data = ffi.string(rbuf.rpos, len) + len = rbuf:size() + data = ffi.string(rbuf.rpos, len) rbuf.rpos = rbuf.rpos + len return data elseif res ~= nil then rbuf.wpos = rbuf.wpos + res - local len = check(self, limit, ...) + len = check(self, limit, ...) if len ~= nil then self._errno = nil - local data = ffi.string(rbuf.rpos, len) + data = ffi.string(rbuf.rpos, len) rbuf.rpos = rbuf.rpos + len return data end @@ -1039,7 +1039,7 @@ local function tcp_connect(host, port, timeout) boxerrno(0) return s end - local timeout = timeout or TIMEOUT_INFINITY + timeout = timeout or TIMEOUT_INFINITY local stop = fiber.clock() + timeout local dns = getaddrinfo(host, port, timeout, { type = 'SOCK_STREAM', protocol = 'tcp' }) @@ -1047,7 +1047,7 @@ local function tcp_connect(host, port, timeout) boxerrno(boxerrno.EINVAL) return nil end - for i, remote in pairs(dns) do + for _, remote in pairs(dns) do timeout = stop - fiber.clock() if timeout <= 0 then boxerrno(boxerrno.ETIMEDOUT) @@ -1078,8 +1078,8 @@ local function tcp_server_handler(server, sc, from) end end -local function tcp_server_loop(server, s, addr) - fiber.name(format("%s/%s:%s", server.name, addr.host, addr.port), {truncate = true}) +local function tcp_server_loop(server, s, address) + fiber.name(format("%s/%s:%s", server.name, address.host, address.port), {truncate = true}) log.info("started") while socket_readable(s) do local sc, from = socket_accept(s) @@ -1104,15 +1104,15 @@ local function tcp_server_usage() error('Usage: socket.tcp_server(host, port, handler | opts)') end -local function tcp_server_do_bind(s, addr) - if socket_bind(s, addr.host, addr.port) then - if addr.family == 'AF_UNIX' then +local function tcp_server_do_bind(s, address) + if socket_bind(s, address.host, address.port) then + if address.family == 'AF_UNIX' then -- Make close() remove the unix socket file created -- by bind(). Note, this must be done before closing -- the socket fd so that no other tcp server can -- reuse the same path before we remove the file. s.close = function(self) - fio.unlink(addr.port) + fio.unlink(address.port) return socket_close(self) end end @@ -1121,12 +1121,12 @@ local function tcp_server_do_bind(s, addr) return false end -local function tcp_server_bind_addr(s, addr) - if tcp_server_do_bind(s, addr) then +local function tcp_server_bind_addr(s, address) + if tcp_server_do_bind(s, address) then return true end - if addr.family ~= 'AF_UNIX' then + if address.family ~= 'AF_UNIX' then return false end @@ -1136,7 +1136,7 @@ local function tcp_server_bind_addr(s, addr) local save_errno = boxerrno() - local sc = tcp_connect(addr.host, addr.port) + local sc = tcp_connect(address.host, address.port) if sc ~= nil then sc:close() boxerrno(save_errno) @@ -1148,13 +1148,13 @@ local function tcp_server_bind_addr(s, addr) return false end - log.info("tcp_server: remove dead UNIX socket: %s", addr.port) - if not fio.unlink(addr.port) then + log.info("tcp_server: remove dead UNIX socket: %s", address.port) + if not fio.unlink(address.port) then log.warn("tcp_server: %s", boxerrno.strerror()) boxerrno(save_errno) return false end - return tcp_server_do_bind(s, addr) + return tcp_server_do_bind(s, address) end @@ -1172,8 +1172,8 @@ local function tcp_server_bind(host, port, prepare, timeout) end end - for _, addr in ipairs(dns) do - local s = socket_new(addr.family, addr.type, addr.protocol) + for _, address in ipairs(dns) do + local s = socket_new(address.family, address.type, address.protocol) if s ~= nil then local backlog if prepare then @@ -1181,13 +1181,13 @@ local function tcp_server_bind(host, port, prepare, timeout) else socket_setsockopt(s, 'SOL_SOCKET', 'SO_REUSEADDR', 1) -- ignore error end - if not tcp_server_bind_addr(s, addr) or not s:listen(backlog) then + if not tcp_server_bind_addr(s, address) or not s:listen(backlog) then local save_errno = boxerrno() socket_close(s) boxerrno(save_errno) return nil end - return s, addr + return s, address end end -- DNS resolved successfully, but addresss family is not supported @@ -1211,12 +1211,12 @@ local function tcp_server(host, port, opts, timeout) tcp_server_usage() end server.name = server.name or 'server' - local s, addr = tcp_server_bind(host, port, server.prepare, timeout) + local s, address = tcp_server_bind(host, port, server.prepare, timeout) if not s then return nil end - fiber.create(tcp_server_loop, server, s, addr) - return s, addr + fiber.create(tcp_server_loop, server, s, address) + return s, address end socket_mt = { @@ -1311,10 +1311,9 @@ local function lsocket_tcp_getpeername(self) return peer.host, tostring(peer.port), peer.family:match("AF_(.*)"):lower() end -local function lsocket_tcp_settimeout(self, value, mode) +local function lsocket_tcp_settimeout(self, value) check_socket(self) self.timeout = value - -- mode is effectively ignored return 1 end @@ -1467,7 +1466,7 @@ local function lsocket_tcp_receive(self, pattern, prefix) local result = { prefix } local deadline = fiber.clock() + (self.timeout or TIMEOUT_INFINITY) repeat - local data = read(self, LIMIT_INFINITY, timeout, check_infinity) + data = read(self, LIMIT_INFINITY, timeout, check_infinity) if data == nil then if not errno_is_transient[self._errno] then return nil, socket_error(self) @@ -1535,7 +1534,7 @@ lsocket_tcp_mt.__index.send = lsocket_tcp_send; -- TCP Constructor and Shortcuts -- -local function lsocket_tcp() +local function lsocket_tcp(self) local s = socket_new('AF_INET', 'SOCK_STREAM', 'tcp') if not s then return nil, socket_error(self) @@ -1559,7 +1558,7 @@ local function lsocket_bind(host, port, backlog) if host == nil or port == nil then error("Usage: luasocket.bind(host, port [, backlog])") end - local function prepare(s) return backlog end + local function prepare() return backlog end local s = tcp_server_bind(host, port, prepare) if not s then return nil, boxerrno.strerror() diff --git a/src/lua/string.lua b/src/lua/string.lua index 6e12c59ae..d3a846645 100644 --- a/src/lua/string.lua +++ b/src/lua/string.lua @@ -233,7 +233,6 @@ local function string_startswith(inp, head, _start, _end) return false end _start = _start - 1 - _end = _start + head_len - 1 return memcmp(c_char_ptr(inp) + _start, c_char_ptr(head), head_len) == 0 end diff --git a/src/lua/swim.lua b/src/lua/swim.lua index 0859915c9..8e3b0ab13 100644 --- a/src/lua/swim.lua +++ b/src/lua/swim.lua @@ -371,7 +371,7 @@ end -- local function swim_member_payload_str(m) local ptr = swim_check_member(m, 'member:payload_str()') - local cdata, size = swim_member_payload_raw(ptr) + local _, size = swim_member_payload_raw(ptr) if size > 0 then return ffi.string(swim_member_payload_raw(ptr)) end @@ -462,7 +462,7 @@ local swim_member_mt = { is_dropped = swim_member_is_dropped, }, __serialize = swim_member_serialize, - __newindex = function(m) + __newindex = function() return error('swim_member is a read-only object') end } @@ -793,9 +793,9 @@ local function swim_on_member_event_new(s, callback, ctx) -- trigger will never be GC-ed. s = setmetatable({s}, {__mode = 'v'}) return function(member_ptr, event_mask) - local s = s[1] - if s then - local m = swim_wrap_member(s, member_ptr) + local si = s[1] + if si then + local m = swim_wrap_member(si, member_ptr) local event = setmetatable({event_mask}, swim_member_event_mt) return callback(m, event, ctx) end diff --git a/src/lua/tap.lua b/src/lua/tap.lua index 94b080d5a..094eb883f 100644 --- a/src/lua/tap.lua +++ b/src/lua/tap.lua @@ -53,7 +53,6 @@ local function ok(test, cond, message, extra) io.write(string.format("not ok - %s\n", message)) extra = extra or {} if test.trace then - local frame = debug.getinfo(3, "Sl") extra.trace = traceback() extra.filename = extra.trace[#extra.trace].filename extra.line = extra.trace[#extra.trace].line @@ -76,9 +75,6 @@ local function skip(test, message, extra) ok(test, true, message.." # skip", extra) end - -local nan = 0/0 - local function cmpdeeply(got, expected, extra) if type(expected) == "number" or type(got) == "number" then extra.got = got @@ -190,38 +186,38 @@ local function isboolean(test, v, message, extra) return is(test, type(v), 'boolean', message, extra) end -local function isfunction(test, v, message, extra) - return is(test, type(v), 'function', message, extra) +local function isfunction(testcase, v, message, extra) + return is(testcase, type(v), 'function', message, extra) end -local function isudata(test, v, utype, message, extra) +local function isudata(testcase, v, utype, message, extra) extra = extra or {} extra.expected = 'userdata<'..utype..'>' if type(v) == 'userdata' then extra.got = 'userdata<'..getmetatable(v)..'>' - return ok(test, getmetatable(v) == utype, message, extra) + return ok(testcase, getmetatable(v) == utype, message, extra) else extra.got = type(v) - return fail(test, message, extra) + return fail(testcase, message, extra) end end -local function iscdata(test, v, ctype, message, extra) +local function iscdata(testcase, v, ctype, message, extra) extra = extra or {} extra.expected = ffi.typeof(ctype) if type(v) == 'cdata' then extra.got = ffi.typeof(v) - return ok(test, ffi.istype(ctype, v), message, extra) + return ok(testcase, ffi.istype(ctype, v), message, extra) else extra.got = type(v) - return fail(test, message, extra) + return fail(testcase, message, extra) end end local test_mt local function test(parent, name, fun, ...) local level = parent ~= nil and parent.level + 1 or 0 - local test = setmetatable({ + local testcase = setmetatable({ parent = parent; name = name; level = level; @@ -232,48 +228,48 @@ local function test(parent, name, fun, ...) strict = false; }, test_mt) if fun ~= nil then - test:diag('%s', test.name) - fun(test, ...) - test:diag('%s: end', test.name) - return test:check() + testcase:diag('%s', testcase.name) + fun(testcase, ...) + testcase:diag('%s: end', testcase.name) + return testcase:check() else - return test + return testcase end end -local function plan(test, planned) - test.planned = planned - io.write(string.rep(' ', 4 * test.level), string.format("1..%d\n", planned)) +local function plan(testcase, planned) + testcase.planned = planned + io.write(string.rep(' ', 4 * testcase.level), string.format("1..%d\n", planned)) end -local function check(test) - if test.checked then +local function check(testcase) + if testcase.checked then error('check called twice') end - test.checked = true - if test.planned ~= test.total then - if test.parent ~= nil then - ok(test.parent, false, "bad plan", { planned = test.planned; - run = test.total}) + testcase.checked = true + if testcase.planned ~= testcase.total then + if testcase.parent ~= nil then + ok(testcase.parent, false, "bad plan", { planned = testcase.planned; + run = testcase.total}) else - diag(test, string.format("bad plan: planned %d run %d", - test.planned, test.total)) + diag(testcase, string.format("bad plan: planned %d run %d", + testcase.planned, testcase.total)) end - elseif test.failed > 0 then - if test.parent ~= nil then - ok(test.parent, false, "failed subtests", { - failed = test.failed; - planned = test.planned; + elseif testcase.failed > 0 then + if testcase.parent ~= nil then + ok(testcase.parent, false, "failed subtests", { + failed = testcase.failed; + planned = testcase.planned; }) else - diag(test, "failed subtest: %d", test.failed) + diag(testcase, "failed subtest: %d", testcase.failed) end else - if test.parent ~= nil then - ok(test.parent, true, test.name) + if testcase.parent ~= nil then + ok(testcase.parent, true, testcase.name) end end - return test.planned == test.total and test.failed == 0 + return testcase.planned == testcase.total and testcase.failed == 0 end test_mt = { diff --git a/src/lua/trigger.lua b/src/lua/trigger.lua index 76a582c47..1330ecdd4 100644 --- a/src/lua/trigger.lua +++ b/src/lua/trigger.lua @@ -1,7 +1,4 @@ local fun = require('fun') -local log = require('log') - -local table_clear = require('table.clear') -- -- Checks that argument is a callable, i.e. a function or a table -- 2.23.0