aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-04-11 07:51:25 +0800
committerGitHub <noreply@github.com>2024-04-11 07:51:25 +0800
commit509c053161c0495ac41cf12343089059afb4e813 (patch)
treec565fa5ce892600cf7cd6cf51729fe44c5f96933
parentd627497156162f03a36e889d316b68df66928193 (diff)
downloadrneovim-509c053161c0495ac41cf12343089059afb4e813.tar.gz
rneovim-509c053161c0495ac41cf12343089059afb4e813.tar.bz2
rneovim-509c053161c0495ac41cf12343089059afb4e813.zip
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.
-rw-r--r--test/functional/preload.lua24
-rw-r--r--test/functional/testutil.lua18
2 files changed, 18 insertions, 24 deletions
diff --git a/test/functional/preload.lua b/test/functional/preload.lua
index 8c3aff146d..9f17ecd66c 100644
--- a/test/functional/preload.lua
+++ b/test/functional/preload.lua
@@ -3,7 +3,6 @@
-- for more information about this.
local t = require('test.functional.testutil')(nil)
require('test.functional.ui.screen')
-local busted = require('busted')
local is_os = t.is_os
if is_os('win') then
@@ -14,26 +13,3 @@ if is_os('win') then
]]
ffi.C._set_fmode(0x8000)
end
-
-local testid = (function()
- local id = 0
- return function()
- id = id + 1
- return id
- end
-end)()
-
--- Global before_each. https://github.com/Olivine-Labs/busted/issues/613
-local function before_each(_element, _parent)
- local id = ('T%d'):format(testid())
- _G._nvim_test_id = id
- return nil, true
-end
-busted.subscribe({ 'test', 'start' }, before_each, {
- -- Ensure our --helper is handled before --output (see busted/runner.lua).
- priority = 1,
- -- Don't generate a test-id for skipped tests. /shrug
- predicate = function(element, _, status)
- return not (element.descriptor == 'pending' or status == 'pending')
- end,
-})
diff --git a/test/functional/testutil.lua b/test/functional/testutil.lua
index efd7790764..1ab15053db 100644
--- a/test/functional/testutil.lua
+++ b/test/functional/testutil.lua
@@ -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()