|
31 | 31 |
|
32 | 32 | local is_headless = require("plenary.nvim_meta").is_headless
|
33 | 33 |
|
34 |
| -local print = function(...) |
| 34 | +-- We are shadowing print so people can reliably print messages |
| 35 | +print = function(...) |
35 | 36 | for _, v in ipairs { ... } do
|
36 | 37 | io.stdout:write(tostring(v))
|
37 | 38 | io.stdout:write "\t"
|
@@ -103,28 +104,28 @@ local PENDING = color_string("yellow", "Pending")
|
103 | 104 | local HEADER = string.rep("=", 40)
|
104 | 105 |
|
105 | 106 | mod.format_results = function(res)
|
106 |
| - local num_pass = #res.pass |
107 |
| - local num_fail = #res.fail |
108 |
| - local num_errs = #res.errs |
109 |
| - |
110 | 107 | 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) |
114 | 111 | print(HEADER)
|
115 | 112 | end
|
116 | 113 |
|
117 | 114 | mod.describe = function(desc, func)
|
118 | 115 | results.pass = results.pass or {}
|
119 | 116 | results.fail = results.fail or {}
|
120 | 117 | results.errs = results.errs or {}
|
121 |
| - results.fatal = results.fatal or {} |
122 | 118 |
|
123 | 119 | describe = mod.inner_describe
|
124 |
| - local ok, msg = call_inner(desc, func) |
| 120 | + local ok, msg, desc_stack = call_inner(desc, func) |
125 | 121 | describe = mod.describe
|
126 | 122 |
|
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 |
128 | 129 | end
|
129 | 130 |
|
130 | 131 | mod.inner_describe = function(desc, func)
|
@@ -242,8 +243,8 @@ mod.run = function(file)
|
242 | 243 |
|
243 | 244 | mod.format_results(results)
|
244 | 245 |
|
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)) |
247 | 248 | if is_headless then
|
248 | 249 | return vim.cmd "2cq"
|
249 | 250 | end
|
|
0 commit comments