mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-09-13 00:17:17 +00:00
56 lines
1.3 KiB
Lua
56 lines
1.3 KiB
Lua
--[[
|
|
Verdict vocabulary shared by the test scripts under luascripts/tests/.
|
|
--]]
|
|
|
|
local ansicolors = require('ansicolors')
|
|
|
|
local Result = {}
|
|
|
|
Result.OK = '( ' .. ansicolors.green .. 'ok' .. ansicolors.reset .. ' )'
|
|
Result.FAIL = '( ' .. ansicolors.red .. 'fail' .. ansicolors.reset .. ' )'
|
|
Result.NEW = '( ' .. ansicolors.yellow .. 'new' .. ansicolors.reset .. ' )'
|
|
Result.SKIP = '( -- )'
|
|
|
|
Result.RULE = string.rep('-', 108)
|
|
|
|
local Counter = {}
|
|
Counter.__index = Counter
|
|
|
|
function Result.counter()
|
|
return setmetatable({ pass = 0, fail = 0, other = 0 }, Counter)
|
|
end
|
|
|
|
function Counter:add(ok)
|
|
if ok == nil then
|
|
self.other = self.other + 1
|
|
elseif ok then
|
|
self.pass = self.pass + 1
|
|
else
|
|
self.fail = self.fail + 1
|
|
end
|
|
return ok
|
|
end
|
|
|
|
function Counter:total()
|
|
return self.pass + self.fail + self.other
|
|
end
|
|
|
|
---
|
|
-- Returns the number of failures, so a caller can use it as an exit status.
|
|
function Counter:summary()
|
|
|
|
if self:total() == 0 then
|
|
print('[!] no tests were run ' .. Result.FAIL)
|
|
return 1
|
|
end
|
|
|
|
if self.fail == 0 and self.other == 0 then
|
|
print('[+] all tests ' .. Result.OK)
|
|
else
|
|
print(('[!] %d / %d tests '):format(self.pass, self:total()) .. Result.FAIL)
|
|
end
|
|
return self.fail
|
|
end
|
|
|
|
return Result
|