From d51b6157473c4830313b566116aa3ad38dc97412 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Wed, 13 Dec 2023 14:04:24 +0100 Subject: [PATCH] refactor: fix luals warnings --- .luarc.json | 4 +- runtime/lua/vim/_editor.lua | 29 +++++--- runtime/lua/vim/_init_packages.lua | 1 + runtime/lua/vim/_watch.lua | 1 + runtime/lua/vim/diagnostic.lua | 1 + runtime/lua/vim/health.lua | 102 +++++++++++++++++++++-------- runtime/lua/vim/iter.lua | 9 ++- runtime/lua/vim/loader.lua | 2 +- runtime/lua/vim/lsp.lua | 4 +- runtime/lua/vim/lsp/buf.lua | 2 +- runtime/lua/vim/shared.lua | 5 -- runtime/lua/vim/ui.lua | 2 +- test/.luarc.json | 2 +- test/functional/helpers.lua | 5 +- test/functional/ui/screen.lua | 1 + test/helpers.lua | 38 +++++------ test/unit/helpers.lua | 2 +- 17 files changed, 133 insertions(+), 77 deletions(-) diff --git a/.luarc.json b/.luarc.json index 5a014a26ea..2bd57d6973 100644 --- a/.luarc.json +++ b/.luarc.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/LuaLS/vscode-lua/master/setting/schema.json", "runtime": { - "version": "LuaJIT" + "version": "LuaJIT" }, "workspace": { "library": [ @@ -12,7 +12,7 @@ "ignoreDir": [ "test" ], - "checkThirdParty": false + "checkThirdParty": "Disable" }, "diagnostics": { "groupFileStatus": { diff --git a/runtime/lua/vim/_editor.lua b/runtime/lua/vim/_editor.lua index 0b338fa86f..cde61697b6 100644 --- a/runtime/lua/vim/_editor.lua +++ b/runtime/lua/vim/_editor.lua @@ -156,10 +156,10 @@ function vim._os_proc_info(pid) elseif r.code ~= 0 then error('command failed: ' .. vim.fn.string(cmd)) end - local ppid = assert(vim.system({ 'ps', '-p', pid, '-o', 'ppid=' }):wait().stdout) + local ppid_string = assert(vim.system({ 'ps', '-p', pid, '-o', 'ppid=' }):wait().stdout) -- Remove trailing whitespace. name = vim.trim(name):gsub('^.*/', '') - ppid = tonumber(ppid) or -1 + local ppid = tonumber(ppid_string) or -1 return { name = name, pid = pid, @@ -533,20 +533,21 @@ function vim.region(bufnr, pos1, pos2, regtype, inclusive) local region = {} for l = pos1[1], pos2[1] do - local c1, c2 + local c1 --- @type number + local c2 --- @type number if regtype:byte() == 22 then -- block selection: take width from regtype c1 = pos1[2] - c2 = c1 + regtype:sub(2) + c2 = c1 + tonumber(regtype:sub(2)) -- and adjust for non-ASCII characters local bufline = vim.api.nvim_buf_get_lines(bufnr, l, l + 1, true)[1] local utflen = vim.str_utfindex(bufline, #bufline) if c1 <= utflen then - c1 = vim.str_byteindex(bufline, c1) + c1 = assert(tonumber(vim.str_byteindex(bufline, c1))) else c1 = #bufline + 1 end if c2 <= utflen then - c2 = vim.str_byteindex(bufline, c2) + c2 = assert(tonumber(vim.str_byteindex(bufline, c2))) else c2 = #bufline + 1 end @@ -576,7 +577,7 @@ end ---@return table timer luv timer object function vim.defer_fn(fn, timeout) vim.validate({ fn = { fn, 'c', true } }) - local timer = vim.uv.new_timer() + local timer = assert(vim.uv.new_timer()) timer:start( timeout, 0, @@ -601,6 +602,7 @@ end ---@param msg string Content of the notification to show to the user. ---@param level integer|nil One of the values from |vim.log.levels|. ---@param opts table|nil Optional parameters. Unused by default. +---@diagnostic disable-next-line: unused-local function vim.notify(msg, level, opts) -- luacheck: no unused args if level == vim.log.levels.ERROR then vim.api.nvim_err_writeln(msg) @@ -700,6 +702,8 @@ end --- --- 1. Can we get it to just return things in the global namespace with that name prefix --- 2. Can we get it to return things from global namespace even with `print(` in front. +--- +--- @param pat string function vim._expand_pat(pat, env) env = env or _G @@ -801,11 +805,13 @@ function vim._expand_pat(pat, env) return keys, #prefix_match_pat end +--- @param lua_string string vim._expand_pat_get_parts = function(lua_string) local parts = {} local accumulator, search_index = '', 1 - local in_brackets, bracket_end = false, -1 + local in_brackets = false + local bracket_end = -1 --- @type integer? local string_char = nil for idx = 1, #lua_string do local s = lua_string:sub(idx, idx) @@ -938,9 +944,12 @@ function vim.keycode(str) return vim.api.nvim_replace_termcodes(str, true, true, true) end +--- @param server_addr string +--- @param connect_error string function vim._cs_remote(rcid, server_addr, connect_error, args) + --- @return string local function connection_failure_errmsg(consequence) - local explanation + local explanation --- @type string if server_addr == '' then explanation = 'No server specified with --server' else @@ -983,7 +992,7 @@ function vim._cs_remote(rcid, server_addr, connect_error, args) local res = tostring(vim.rpcrequest(rcid, 'nvim_eval', args[2])) return { result = res, should_exit = true, tabbed = false } elseif subcmd ~= '' then - return { errmsg = 'Unknown option argument: ' .. args[1] } + return { errmsg = 'Unknown option argument: ' .. tostring(args[1]) } end if rcid == 0 then diff --git a/runtime/lua/vim/_init_packages.lua b/runtime/lua/vim/_init_packages.lua index f8710f7fd7..97d483333e 100644 --- a/runtime/lua/vim/_init_packages.lua +++ b/runtime/lua/vim/_init_packages.lua @@ -12,6 +12,7 @@ for s in (package.cpath .. ';'):gmatch('[^;]*;') do end end +--- @param name string function vim._load_package(name) local basename = name:gsub('%.', '/') local paths = { 'lua/' .. basename .. '.lua', 'lua/' .. basename .. '/init.lua' } diff --git a/runtime/lua/vim/_watch.lua b/runtime/lua/vim/_watch.lua index 43fce3bf7f..092781826f 100644 --- a/runtime/lua/vim/_watch.lua +++ b/runtime/lua/vim/_watch.lua @@ -51,6 +51,7 @@ function M.watch(path, opts, callback) local uvflags = opts and opts.uvflags or {} local handle, new_err = vim.uv.new_fs_event() assert(not new_err, new_err) + handle = assert(handle) local _, start_err = handle:start(path, uvflags, function(err, filename, events) assert(not err, err) local fullpath = path diff --git a/runtime/lua/vim/diagnostic.lua b/runtime/lua/vim/diagnostic.lua index a82a61eeb7..ad40723737 100644 --- a/runtime/lua/vim/diagnostic.lua +++ b/runtime/lua/vim/diagnostic.lua @@ -108,6 +108,7 @@ local function filter_by_severity(severity, diagnostics) severities[to_severity(s)] = true end + --- @param t table return vim.tbl_filter(function(t) return severities[t.severity] end, diagnostics) diff --git a/runtime/lua/vim/health.lua b/runtime/lua/vim/health.lua index 23771d2807..55a451bf56 100644 --- a/runtime/lua/vim/health.lua +++ b/runtime/lua/vim/health.lua @@ -1,8 +1,8 @@ local M = {} -local s_output = {} +local s_output = {} ---@type string[] --- Returns the fold text of the current healthcheck section +--- Returns the fold text of the current healthcheck section function M.foldtext() local foldtext = vim.fn.foldtext() @@ -36,12 +36,13 @@ function M.foldtext() return vim.b.failedchecks[foldtext] and '+WE' .. foldtext:sub(4) or foldtext end --- From a path return a list [{name}, {func}, {type}] representing a healthcheck +--- @param path string path to search for the healthcheck +--- @return string[] { name, func, type } representing a healthcheck local function filepath_to_healthcheck(path) path = vim.fs.normalize(path) - local name - local func - local filetype + local name --- @type string + local func --- @type string + local filetype --- @type string if path:find('vim$') then name = vim.fs.basename(path):gsub('%.vim$', '') func = 'health#' .. name .. '#check' @@ -50,10 +51,10 @@ local function filepath_to_healthcheck(path) local subpath = path:gsub('.*lua/', '') if vim.fs.basename(subpath) == 'health.lua' then -- */health.lua - name = vim.fs.dirname(subpath) + name = assert(vim.fs.dirname(subpath)) else -- */health/init.lua - name = vim.fs.dirname(vim.fs.dirname(subpath)) + name = assert(vim.fs.dirname(assert(vim.fs.dirname(subpath)))) end name = name:gsub('/', '.') @@ -63,11 +64,12 @@ local function filepath_to_healthcheck(path) return { name, func, filetype } end --- Returns { {name, func, type}, ... } representing healthchecks +--- @param plugin_names string +--- @return table { {name, func, type}, ... } representing healthchecks local function get_healthcheck_list(plugin_names) - local healthchecks = {} - plugin_names = vim.split(plugin_names, ' ') - for _, p in pairs(plugin_names) do + local healthchecks = {} --- @type table + local plugin_names_list = vim.split(plugin_names, ' ') + for _, p in pairs(plugin_names_list) do -- support vim/lsp/health{/init/}.lua as :checkhealth vim.lsp p = p:gsub('%.', '/') @@ -83,7 +85,7 @@ local function get_healthcheck_list(plugin_names) if vim.tbl_count(paths) == 0 then healthchecks[#healthchecks + 1] = { p, '', '' } -- healthcheck not found else - local unique_paths = {} + local unique_paths = {} --- @type table for _, v in pairs(paths) do unique_paths[v] = true end @@ -100,10 +102,11 @@ local function get_healthcheck_list(plugin_names) return healthchecks end --- Returns {name: [func, type], ..} representing healthchecks +--- @param plugin_names string +--- @return table {name: [func, type], ..} representing healthchecks local function get_healthcheck(plugin_names) local health_list = get_healthcheck_list(plugin_names) - local healthchecks = {} + local healthchecks = {} --- @type table for _, c in pairs(health_list) do if c[1] ~= 'vim' then healthchecks[c[1]] = { c[2], c[3] } @@ -113,7 +116,11 @@ local function get_healthcheck(plugin_names) return healthchecks end --- Indents lines *except* line 1 of a string if it contains newlines. +--- Indents lines *except* line 1 of a string if it contains newlines. +--- +--- @param s string +--- @param columns integer +--- @return string local function indent_after_line1(s, columns) local lines = vim.split(s, '\n') local indent = string.rep(' ', columns) @@ -123,13 +130,20 @@ local function indent_after_line1(s, columns) return table.concat(lines, '\n') end --- Changes ':h clipboard' to ':help |clipboard|'. +--- Changes ':h clipboard' to ':help |clipboard|'. +--- +--- @param s string +--- @return string local function help_to_link(s) return vim.fn.substitute(s, [[\v:h%[elp] ([^|][^"\r\n ]+)]], [[:help |\1|]], [[g]]) end --- Format a message for a specific report item. --- Variable args: Optional advice (string or list) +--- Format a message for a specific report item. +--- +--- @param status string +--- @param msg string +--- @param ... string|string[] Optional advice +--- @return string local function format_report_message(status, msg, ...) local output = '- ' .. status if status ~= '' then @@ -159,42 +173,54 @@ local function format_report_message(status, msg, ...) return help_to_link(output) end +--- @param output string local function collect_output(output) vim.list_extend(s_output, vim.split(output, '\n')) end --- Starts a new report. +--- Starts a new report. +--- +--- @param name string function M.start(name) local input = string.format('\n%s ~', name) collect_output(input) end --- Reports a message in the current section. +--- Reports a message in the current section. +--- +--- @param msg string function M.info(msg) local input = format_report_message('', msg) collect_output(input) end --- Reports a successful healthcheck. +--- Reports a successful healthcheck. +--- +--- @param msg string function M.ok(msg) local input = format_report_message('OK', msg) collect_output(input) end --- Reports a health warning. --- ...: Optional advice (string or table) +--- Reports a health warning. +--- +--- @param msg string +--- @param ... string|string[] Optional advice function M.warn(msg, ...) local input = format_report_message('WARNING', msg, ...) collect_output(input) end --- Reports a failed healthcheck. --- ...: Optional advice (string or table) +--- Reports a failed healthcheck. +--- +--- @param msg string +--- @param ... string|string[] Optional advice function M.error(msg, ...) local input = format_report_message('ERROR', msg, ...) collect_output(input) end +--- @param type string local function deprecate(type) local before = string.format('vim.health.report_%s()', type) local after = string.format('vim.health.%s()', type) @@ -206,22 +232,36 @@ local function deprecate(type) vim.print('Running healthchecks...') end +--- @deprecated +--- @param name string function M.report_start(name) deprecate('start') M.start(name) end + +--- @deprecated +--- @param msg string function M.report_info(msg) deprecate('info') M.info(msg) end + +--- @deprecated +--- @param msg string function M.report_ok(msg) deprecate('ok') M.ok(msg) end + +--- @deprecated +--- @param msg string function M.report_warn(msg, ...) deprecate('warn') M.warn(msg, ...) end + +--- @deprecated +--- @param msg string function M.report_error(msg, ...) deprecate('error') M.error(msg, ...) @@ -251,7 +291,7 @@ local path2name = function(path) end local PATTERNS = { '/autoload/health/*.vim', '/lua/**/**/health.lua', '/lua/**/**/health/init.lua' } --- :checkhealth completion function used by cmdexpand.c get_healthcheck_names() +--- :checkhealth completion function used by cmdexpand.c get_healthcheck_names() M._complete = function() local names = vim.tbl_flatten(vim.tbl_map(function(pattern) return vim.tbl_map(path2name, vim.api.nvim_get_runtime_file(pattern, true)) @@ -270,6 +310,9 @@ end --- Runs all discovered healthchecks if plugin_names is empty. --- --- @param mods string command modifiers that affect splitting a window. +--- @param plugin_names string glob of plugin names, split on whitespace. For example, using +--- `:checkhealth vim.* nvim` will healthcheck `vim.lsp`, `vim.treesitter` +--- and `nvim` modules. function M._check(mods, plugin_names) local healthchecks = plugin_names == '' and get_healthcheck('*') or get_healthcheck(plugin_names) @@ -289,7 +332,8 @@ function M._check(mods, plugin_names) vim.cmd.file('health://') vim.cmd.setfiletype('checkhealth') - if healthchecks == nil or next(healthchecks) == nil then + -- This should only happen when doing `:checkhealth vim` + if next(healthchecks) == nil then vim.fn.setline(1, 'ERROR: No healthchecks found.') return end @@ -325,7 +369,7 @@ function M._check(mods, plugin_names) local header = { string.rep('=', 78), name .. ': ' .. func, '' } -- remove empty line after header from report_start if s_output[1] == '' then - local tmp = {} + local tmp = {} ---@type string[] for i = 2, #s_output do tmp[#tmp + 1] = s_output[i] end diff --git a/runtime/lua/vim/iter.lua b/runtime/lua/vim/iter.lua index 8e602c406a..b658dde099 100644 --- a/runtime/lua/vim/iter.lua +++ b/runtime/lua/vim/iter.lua @@ -432,6 +432,7 @@ end --- ``` --- ---@return any +---@diagnostic disable-next-line: unused-local function Iter.next(self) -- luacheck: no unused args -- This function is provided by the source iterator in Iter.new. This definition exists only for -- the docstring @@ -489,6 +490,7 @@ end --- ``` --- ---@return any +---@diagnostic disable-next-line: unused-local function Iter.peek(self) -- luacheck: no unused args error('peek() requires a list-like table') end @@ -568,12 +570,13 @@ end ---@see Iter.find --- ---@return any +---@diagnostic disable-next-line: unused-local function Iter.rfind(self, f) -- luacheck: no unused args error('rfind() requires a list-like table') end ---@private -function ListIter.rfind(self, f) -- luacheck: no unused args +function ListIter.rfind(self, f) if type(f) ~= 'function' then local val = f f = function(v) @@ -640,6 +643,7 @@ end --- ``` --- ---@return any +---@diagnostic disable-next-line: unused-local function Iter.nextback(self) -- luacheck: no unused args error('nextback() requires a list-like table') end @@ -669,6 +673,7 @@ end --- ``` --- ---@return any +---@diagnostic disable-next-line: unused-local function Iter.peekback(self) -- luacheck: no unused args error('peekback() requires a list-like table') end @@ -725,6 +730,7 @@ end --- ---@param n number Number of values to skip. ---@return Iter +---@diagnostic disable-next-line: unused-local function Iter.skipback(self, n) -- luacheck: no unused args error('skipback() requires a list-like table') return self @@ -791,6 +797,7 @@ end ---@param first number ---@param last number ---@return Iter +---@diagnostic disable-next-line: unused-local function Iter.slice(self, first, last) -- luacheck: no unused args error('slice() requires a list-like table') return self diff --git a/runtime/lua/vim/loader.lua b/runtime/lua/vim/loader.lua index ee01111337..b77251cf7e 100644 --- a/runtime/lua/vim/loader.lua +++ b/runtime/lua/vim/loader.lua @@ -1,5 +1,5 @@ local uv = vim.uv -local uri_encode = vim.uri_encode +local uri_encode = vim.uri_encode --- @type function --- @type (fun(modename: string): fun()|string)[] local loaders = package.loaders diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 1310239a5b..3105413b53 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -329,11 +329,11 @@ end ---@param fn (T) Function to run ---@return T local function once(fn) - local value --- @type any + local value --- @type function local ran = false return function(...) if not ran then - value = fn(...) + value = fn(...) --- @type function ran = true end return value diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua index 051b9d4550..d67b2ac8ea 100644 --- a/runtime/lua/vim/lsp/buf.lua +++ b/runtime/lua/vim/lsp/buf.lua @@ -46,7 +46,7 @@ function M.hover() end local function request_with_options(name, params, options) - local req_handler + local req_handler --- @type function? if options then req_handler = function(err, result, ctx, config) local client = assert(vim.lsp.get_client_by_id(ctx.client_id)) diff --git a/runtime/lua/vim/shared.lua b/runtime/lua/vim/shared.lua index 9542d93789..bbbc888727 100644 --- a/runtime/lua/vim/shared.lua +++ b/runtime/lua/vim/shared.lua @@ -617,11 +617,6 @@ function vim.tbl_islist(t) local num_elem = vim.tbl_count(t) if num_elem == 0 then - -- TODO(bfredl): in the future, we will always be inside nvim - -- then this check can be deleted. - if vim._empty_dict_mt == nil then - return nil - end return getmetatable(t) ~= vim._empty_dict_mt else for i = 1, num_elem do diff --git a/runtime/lua/vim/ui.lua b/runtime/lua/vim/ui.lua index b6ddf337ce..25ced18daf 100644 --- a/runtime/lua/vim/ui.lua +++ b/runtime/lua/vim/ui.lua @@ -133,7 +133,7 @@ function M.open(path) path = vim.fn.expand(path) end - local cmd + local cmd --- @type string[] if vim.fn.has('mac') == 1 then cmd = { 'open', path } diff --git a/test/.luarc.json b/test/.luarc.json index 5d19a37266..1de363557d 100644 --- a/test/.luarc.json +++ b/test/.luarc.json @@ -12,7 +12,7 @@ "${3rd}/luassert/library", "${3rd}/luv/library" ], - "checkThirdParty": false + "checkThirdParty": "Disable" }, "diagnostics": { "groupFileStatus": { diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua index 2e1f196226..a852e8cc08 100644 --- a/test/functional/helpers.lua +++ b/test/functional/helpers.lua @@ -65,10 +65,7 @@ if os.getenv('VALGRIND') then table.insert(prepend_argv, '--vgdb-error=0') end elseif os.getenv('GDB') then - local gdbserver_port = '7777' - if os.getenv('GDBSERVER_PORT') then - gdbserver_port = os.getenv('GDBSERVER_PORT') - end + local gdbserver_port = os.getenv('GDBSERVER_PORT') or '7777' prepend_argv = {'gdbserver', 'localhost:'..gdbserver_port} end diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua index 99cf4ffb1b..096d8a27fb 100644 --- a/test/functional/ui/screen.lua +++ b/test/functional/ui/screen.lua @@ -1593,6 +1593,7 @@ function Screen:_pprint_attrs(attrs, cterm) return table.concat(items, ", ") end +---@diagnostic disable-next-line: unused-local, unused-function local function backward_find_meaningful(tbl, from) -- luacheck: no unused for i = from or #tbl, 1, -1 do if tbl[i] ~= ' ' then diff --git a/test/helpers.lua b/test/helpers.lua index 0ced3ec163..83f87c856b 100644 --- a/test/helpers.lua +++ b/test/helpers.lua @@ -1,10 +1,10 @@ local shared = vim -local assert = require('luassert') +local luaassert = require('luassert') local busted = require('busted') local luv = require('luv') local Paths = require('test.cmakeconfig.paths') -assert:set_parameter('TableFormatLevel', 100) +luaassert:set_parameter('TableFormatLevel', 100) local quote_me = '[^.%w%+%-%@%_%/]' -- complement (needn't quote) local function shell_quote(str) @@ -82,8 +82,8 @@ end -- Calls fn() until it succeeds, up to `max` times or until `max_ms` -- milliseconds have passed. function module.retry(max, max_ms, fn) - assert(max == nil or max > 0) - assert(max_ms == nil or max_ms > 0) + luaassert(max == nil or max > 0) + luaassert(max_ms == nil or max_ms > 0) local tries = 1 local timeout = (max_ms and max_ms or 10000) local start_time = luv.now() @@ -108,10 +108,10 @@ local check_logs_useless_lines = { } function module.eq(expected, actual, context) - return assert.are.same(expected, actual, context) + return luaassert.are.same(expected, actual, context) end function module.neq(expected, actual, context) - return assert.are_not.same(expected, actual, context) + return luaassert.are_not.same(expected, actual, context) end --- Asserts that `cond` is true, or prints a message. @@ -120,21 +120,21 @@ end --- @param expected (any) description of expected result --- @param actual (any) description of actual result function module.ok(cond, expected, actual) - assert( + luaassert( (not expected and not actual) or (expected and actual), 'if "expected" is given, "actual" is also required' ) local msg = expected and ('expected %s, got: %s'):format(expected, tostring(actual)) or nil - return assert(cond, msg) + return luaassert(cond, msg) end local function epicfail(state, arguments, _) state.failure_message = arguments[1] return false end -assert:register('assertion', 'epicfail', epicfail) +luaassert:register('assertion', 'epicfail', epicfail) function module.fail(msg) - return assert.epicfail(msg) + return luaassert.epicfail(msg) end function module.matches(pat, actual) @@ -154,7 +154,7 @@ end ---@param inverse? (boolean) Assert that the pattern does NOT match. function module.assert_log(pat, logfile, nrlines, inverse) logfile = logfile or os.getenv('NVIM_LOG_FILE') or '.nvimlog' - assert(logfile ~= nil, 'no logfile') + luaassert(logfile ~= nil, 'no logfile') nrlines = nrlines or 10 inverse = inverse or false @@ -191,7 +191,7 @@ function module.assert_nolog(pat, logfile, nrlines) end function module.pcall(fn, ...) - assert(type(fn) == 'function') + luaassert(type(fn) == 'function') local status, rv = pcall(fn, ...) if status then return status, rv @@ -238,7 +238,7 @@ end -- matches('e[or]+$', pcall_err(function(a, b) error('some error') end, 'arg1', 'arg2')) -- function module.pcall_err_withfile(fn, ...) - assert(type(fn) == 'function') + luaassert(type(fn) == 'function') local status, rv = module.pcall(fn, ...) if status == true then error('expected failure, but got success') @@ -315,7 +315,7 @@ function module.check_logs() for tail in vim.fs.dir(log_dir) do if tail:sub(1, 30) == 'valgrind-' or tail:find('san%.') then local file = log_dir .. '/' .. tail - local fd = io.open(file) + local fd = assert(io.open(file)) local start_msg = ('='):rep(20) .. ' File ' .. file .. ' ' .. ('='):rep(20) local lines = {} local warning_line = 0 @@ -350,7 +350,7 @@ function module.check_logs() end end end - assert( + luaassert( 0 == #runtime_errors, string.format('Found runtime errors in logfile(s): %s', table.concat(runtime_errors, ', ')) ) @@ -757,7 +757,7 @@ function module.format_luav(v, indent, opts) else print(type(v)) -- Not implemented yet - assert(false) + luaassert(false) end return ret end @@ -805,7 +805,7 @@ end local fixtbl_metatable = { __newindex = function() - assert(false) + luaassert(false) end, } @@ -902,7 +902,7 @@ end -- Dedent the given text and write it to the file name. function module.write_file(name, text, no_dedent, append) - local file = io.open(name, (append and 'a' or 'w')) + local file = assert(io.open(name, (append and 'a' or 'w'))) if type(text) == 'table' then -- Byte blob local bytes = text @@ -920,7 +920,7 @@ end function module.is_ci(name) local any = (name == nil) - assert(any or name == 'github' or name == 'cirrus') + luaassert(any or name == 'github' or name == 'cirrus') local gh = ((any or name == 'github') and nil ~= os.getenv('GITHUB_ACTIONS')) local cirrus = ((any or name == 'cirrus') and nil ~= os.getenv('CIRRUS_CI')) return gh or cirrus diff --git a/test/unit/helpers.lua b/test/unit/helpers.lua index e56f8d5058..86d02e8c31 100644 --- a/test/unit/helpers.lua +++ b/test/unit/helpers.lua @@ -19,7 +19,7 @@ for _, p in ipairs(Paths.include_paths) do Preprocess.add_to_include_path(p) end -local child_pid = nil --- @type integer +local child_pid = nil --- @type integer? --- @generic F: function --- @param func F --- @return F