|
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