Skip to content

Commit 86ef342

Browse files
authored
fix(busted): print should now always print and errors should fail test suite (#362)
1 parent 25b3475 commit 86ef342

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

lua/plenary/busted.lua

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ end
3131

3232
local is_headless = require("plenary.nvim_meta").is_headless
3333

34-
local print = function(...)
34+
-- We are shadowing print so people can reliably print messages
35+
print = function(...)
3536
for _, v in ipairs { ... } do
3637
io.stdout:write(tostring(v))
3738
io.stdout:write "\t"
@@ -103,28 +104,28 @@ local PENDING = color_string("yellow", "Pending")
103104
local HEADER = string.rep("=", 40)
104105

105106
mod.format_results = function(res)
106-
local num_pass = #res.pass
107-
local num_fail = #res.fail
108-
local num_errs = #res.errs
109-
110107
print ""
111-
print(color_string("green", "Success: "), num_pass)
112-
print(color_string("red", "Failed : "), num_fail)
113-
print(color_string("red", "Errors : "), num_errs)
108+
print(color_string("green", "Success: "), #res.pass)
109+
print(color_string("red", "Failed : "), #res.fail)
110+
print(color_string("red", "Errors : "), #res.errs)
114111
print(HEADER)
115112
end
116113

117114
mod.describe = function(desc, func)
118115
results.pass = results.pass or {}
119116
results.fail = results.fail or {}
120117
results.errs = results.errs or {}
121-
results.fatal = results.fatal or {}
122118

123119
describe = mod.inner_describe
124-
local ok, msg = call_inner(desc, func)
120+
local ok, msg, desc_stack = call_inner(desc, func)
125121
describe = mod.describe
126122

127-
table.insert(results.fatal, msg)
123+
if not ok then
124+
table.insert(results.errs, {
125+
descriptions = desc_stack,
126+
msg = msg,
127+
})
128+
end
128129
end
129130

130131
mod.inner_describe = function(desc, func)
@@ -242,8 +243,8 @@ mod.run = function(file)
242243

243244
mod.format_results(results)
244245

245-
if #results.fatal ~= 0 then
246-
print("We had an unexpected error: ", vim.inspect(results.fatal), vim.inspect(results))
246+
if #results.errs ~= 0 then
247+
print("We had an unexpected error: ", vim.inspect(results.errs), vim.inspect(results))
247248
if is_headless then
248249
return vim.cmd "2cq"
249250
end

0 commit comments

Comments
 (0)