diff options
Diffstat (limited to 'test/functional/preload.lua')
-rw-r--r-- | test/functional/preload.lua | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/test/functional/preload.lua b/test/functional/preload.lua index 24a3977e6b..74f03eaecf 100644 --- a/test/functional/preload.lua +++ b/test/functional/preload.lua @@ -1,8 +1,9 @@ --- Modules loaded here will not be cleared and reloaded by Busted. +-- Modules loaded here will NOT be cleared and reloaded by Busted. -- Busted started doing this to help provide more isolation. See issue #62 -- for more information about this. local helpers = require('test.functional.helpers')(nil) local iswin = helpers.iswin +local busted = require("busted") if iswin() then local ffi = require('ffi') @@ -12,3 +13,28 @@ if iswin() 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 + }) |