mirror of
https://github.com/neovim/neovim.git
synced 2025-10-09 19:36:40 +00:00
test: fix off-by-one test IDs in logs (#28269)
Run the global before_each() before all other before_each(), so that clear() uses the test ID of the current test, not the previous one. Don't skip generating test IDs for skipped tests, as that'll make a skipped test have the same test ID as the previous one.
This commit is contained in:
@@ -1022,12 +1022,30 @@ function module.mkdir_p(path)
|
||||
return os.execute((is_os('win') and 'mkdir ' .. path or 'mkdir -p ' .. path))
|
||||
end
|
||||
|
||||
local testid = (function()
|
||||
local id = 0
|
||||
return function()
|
||||
id = id + 1
|
||||
return id
|
||||
end
|
||||
end)()
|
||||
|
||||
return function()
|
||||
local g = getfenv(2)
|
||||
|
||||
--- @type function?
|
||||
local before_each = g.before_each
|
||||
--- @type function?
|
||||
local after_each = g.after_each
|
||||
|
||||
if before_each then
|
||||
before_each(function()
|
||||
local id = ('T%d'):format(testid())
|
||||
_G._nvim_test_id = id
|
||||
return nil, true
|
||||
end)
|
||||
end
|
||||
|
||||
if after_each then
|
||||
after_each(function()
|
||||
check_logs()
|
||||
|
Reference in New Issue
Block a user