unittests: Add trace description right to the error message

This commit is contained in:
ZyX
2017-04-01 12:52:28 +03:00
parent 046d6a8dfe
commit 9dd0d4f8b9
3 changed files with 38 additions and 31 deletions

View File

@@ -251,6 +251,28 @@ local function concat_tables(...)
return ret
end
local function dedent(str)
-- find minimum common indent across lines
local indent = nil
for line in str:gmatch('[^\n]+') do
local line_indent = line:match('^%s+') or ''
if indent == nil or #line_indent < #indent then
indent = line_indent
end
end
if indent == nil or #indent == 0 then
-- no minimum common indent
return str
end
-- create a pattern for the indent
indent = indent:gsub('%s', '[ \t]')
-- strip it from the first line
str = str:gsub('^'..indent, '')
-- strip it from the remaining lines
str = str:gsub('[\n]'..indent, '\n')
return str
end
return {
eq = eq,
neq = neq,
@@ -265,4 +287,5 @@ return {
hasenv = hasenv,
which = which,
concat_tables = concat_tables,
dedent = dedent,
}