[Tarantool-patches] [PATCH 1/6] Fix luacheck warnings in src/lua/
Igor Munkin
imun at tarantool.org
Wed Apr 15 23:51:02 MSK 2020
Sergey,
Thanks for the patch!
On 14.04.20, Sergey Bronnikov wrote:
> Many warnings fixed with help from Vladislav Shpilevoy.
>
> Closes #4681
>
> Reviewed-by: Vladislav Shpilevoy <v.shpilevoy at tarantool.org>
> ---
>
> 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/fio.lua | 25 +++++++-------
> src/lua/httpc.lua | 3 --
> src/lua/init.lua | 7 ++--
> src/lua/msgpackffi.lua | 16 +++------
> 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 --
> 16 files changed, 105 insertions(+), 124 deletions(-)
>
> diff --git a/src/lua/argparse.lua b/src/lua/argparse.lua
> index faa0ae130..f58985425 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(t__in, options)
> + local t_out, t_in = {}, t__in or {}
I guess you can just give t__in a proper name, e.g. args, params, etc.
>
> -- Prepare a lookup table for options. An option name -> a
> -- type name to convert a parameter into or true (which means
<snipped>
> 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
<snipped>
> @@ -428,7 +428,7 @@ local public_methods = {
> }
>
> local module_mt = {
> - __serialize = function(s)
> + __serialize = function()
> return public_methods
> end,
> __index = public_methods
I see no reasons to leave other W212[unused argument self] occurences.
Here is a diff:
================================================================================
diff --git a/src/lua/crypto.lua b/src/lua/crypto.lua
index c0eb0d303..6a7ee53f0 100644
--- a/src/lua/crypto.lua
+++ b/src/lua/crypto.lua
@@ -318,7 +318,7 @@ for class, digest in pairs(digests) do
digest_api[class] = setmetatable({
new = function () return digest_new(digest) end
}, {
- __call = function (self, str)
+ __call = function (_, str)
if type(str) ~= 'string' then
error("Usage: digest."..class.."(string)")
end
@@ -332,7 +332,7 @@ for class, digest in pairs(digests) do
end
digest_api = setmetatable(digest_api,
- {__index = function(self, digest)
+ {__index = function(_, digest)
return error('Digest method "' .. digest .. '" is not supported')
end })
@@ -341,7 +341,7 @@ for class, digest in pairs(hmacs) do
hmac_api[class] = setmetatable({
new = function (key) return hmac_new(digest, key) end
}, {
- __call = function (self, key, str)
+ __call = function (_, key, str)
if type(str) ~= 'string' then
error("Usage: hmac."..class.."(key, string)")
end
@@ -356,12 +356,12 @@ for class, digest in pairs(hmacs) do
if type(str) ~= 'string' then
error("Usage: hmac."..class.."_hex(key, string)")
end
- return string.hex(hmac_api[class](key, str))
+ return hmac_api[class](key, str):hex()
end
end
hmac_api = setmetatable(hmac_api,
- {__index = function(self, digest)
+ {__index = function(_, digest)
return error('HMAC method "' .. digest .. '" is not supported')
end })
@@ -384,12 +384,12 @@ local crypto_dirs = {
}
local algo_api_mt = {
- __index = function(self, mode)
+ __index = function(_, mode)
error('Cipher mode ' .. mode .. ' is not supported')
end
}
local crypto_api_mt = {
- __index = function(self, cipher)
+ __index = function(_, cipher)
return error('Cipher method "' .. cipher .. '" is not supported')
end
}
@@ -408,7 +408,7 @@ for algo_name, algo_value in pairs(crypto_algos) do
dir_value)
end
}, {
- __call = function(self, str, key, iv)
+ __call = function(_, str, key, iv)
local ctx = crypto_stream_new(algo_value, mode_value, key,
iv, dir_value)
local res = ctx:update(str)
================================================================================
<snipped>
> 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
Fixed the remaining errors:
================================================================================
diff --git a/src/lua/digest.lua b/src/lua/digest.lua
index 7f1aea8d0..6175228ab 100644
--- a/src/lua/digest.lua
+++ b/src/lua/digest.lua
@@ -91,7 +91,7 @@ PMurHash = {
}
setmetatable(PMurHash, {
- __call = function(self, str)
+ __call = function(_, str)
if type(str) ~= 'string' then
error("Usage: digest.murhash(string)")
end
@@ -134,7 +134,7 @@ CRC32 = {
}
setmetatable(CRC32, {
- __call = function(self, str)
+ __call = function(_, str)
if type(str) ~= 'string' then
error("Usage digest.crc32(string)")
end
================================================================================
<snipped>
Fixed the remaining errors in src/lua/errno.lua:
================================================================================
diff --git a/src/lua/errno.lua b/src/lua/errno.lua
index db800ce30..9b8dd518a 100644
--- a/src/lua/errno.lua
+++ b/src/lua/errno.lua
@@ -17,5 +17,5 @@ return setmetatable({
}, {
__index = errno_list,
__newindex = function() error("Can't create new errno constants") end,
- __call = function(self, ...) return ffi.errno(...) end
+ __call = function(_, ...) return ffi.errno(...) end
})
================================================================================
> diff --git a/src/lua/fio.lua b/src/lua/fio.lua
> index 83fddaa0a..b2b4b4c77 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
It is a confusing noop, please drop it.
> - local joined_path = ''
> + local joined_path
> local path_tab = {}
> if string.sub(path, 1, 1) == '/' then
> joined_path = path
<snipped>
> @@ -407,20 +407,20 @@ fio.rmtree = function(path)
> if type(path) ~= 'string' then
> error("Usage: fio.rmtree(path)")
> end
> - local status, err
> + local status
This value is unused (and the corresponding warning is reported).
Consider the changes below:
================================================================================
diff --git a/src/lua/fio.lua b/src/lua/fio.lua
index b2b4b4c77..e271eccf6 100644
--- a/src/lua/fio.lua
+++ b/src/lua/fio.lua
@@ -407,7 +407,6 @@ fio.rmtree = function(path)
if type(path) ~= 'string' then
error("Usage: fio.rmtree(path)")
end
- local status
path = fio.abspath(path)
local ls, err = fio.listdir(path)
if err ~= nil then
@@ -427,7 +426,8 @@ fio.rmtree = function(path)
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
================================================================================
> 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
> @@ -471,10 +471,10 @@ fio.copytree = function(from, 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)
This value is unused (and the corresponding warning is reported).
Consider the changes below:
================================================================================
diff --git a/src/lua/fio.lua b/src/lua/fio.lua
index b2b4b4c77..5fc47b8fc 100644
--- a/src/lua/fio.lua
+++ b/src/lua/fio.lua
@@ -453,7 +453,6 @@ 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 st = fio.stat(from)
if not st then
return false, string.format("Directory %s does not exist", from)
@@ -467,7 +466,7 @@ fio.copytree = function(from, to)
end
-- create tree of destination
- status, reason = fio.mktree(to)
+ local _, reason = fio.mktree(to)
if reason ~= nil then
return false, reason
end
@@ -476,13 +475,13 @@ fio.copytree = function(from, to)
local fto = fio.pathjoin(to, f)
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
@@ -493,7 +492,7 @@ fio.copytree = function(from, to)
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
================================================================================
> if reason ~= nil then
<snipped>
> diff --git a/src/lua/msgpackffi.lua b/src/lua/msgpackffi.lua
> index f01ffaef0..9105c3f23 100644
> --- a/src/lua/msgpackffi.lua
> +++ b/src/lua/msgpackffi.lua
<snipped>
> @@ -504,7 +497,7 @@ 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,
Again another suppressed warning, that can be simply fixed:
================================================================================
diff --git a/src/lua/msgpackffi.lua b/src/lua/msgpackffi.lua
index 9105c3f23..786118d2d 100644
--- a/src/lua/msgpackffi.lua
+++ b/src/lua/msgpackffi.lua
@@ -499,9 +499,17 @@ local ext_decoder = {
-- MP_UNKNOWN_EXTENSION
[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,
+ [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)
================================================================================
> -- MP_UUID
<snipped>
> 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
<snipped>
Fixed the remaining errors:
================================================================================
diff --git a/src/lua/socket.lua b/src/lua/socket.lua
index 317acfe8e..75a4e8fb5 100644
--- a/src/lua/socket.lua
+++ b/src/lua/socket.lua
@@ -1577,7 +1577,7 @@ return setmetatable({
iowait = internal.iowait,
internal = internal,
}, {
- __call = function(self, ...) return socket_new(...) end;
+ __call = function(_, ...) return socket_new(...) end;
__index = {
tcp = lsocket_tcp;
connect = lsocket_connect;
================================================================================
<snipped>
> 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
<snipped>
> @@ -190,38 +186,38 @@ local function isboolean(test, v, message, extra)
> return is(test, type(v), 'boolean', message, extra)
> end
>
I don't get the difference between <isfunction> routine and <isboolean>,
but you changed parameter name only in one of them. Please, choose the
one naming and adjust everything considering it.
> -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;
<snipped>
> --
> 2.23.0
>
>
> --
> sergeyb@
--
Best regards,
IM
More information about the Tarantool-patches
mailing list