31 lines
1.1 KiB
Lua
31 lines
1.1 KiB
Lua
-- This is a NTest output handler that formats its output in a way that
|
|
-- resembles the Test Anything Protocol (though prefixed with "TAP: " so we can
|
|
-- more readily find it in comingled output streams).
|
|
|
|
local nrun
|
|
return function(e, test, msg, err)
|
|
msg = msg or ""
|
|
err = err or ""
|
|
if e == "pass" then
|
|
print(("\nTAP: ok %d %s # %s"):format(nrun, test, msg))
|
|
nrun = nrun + 1
|
|
elseif e == "fail" then
|
|
print(("\nTAP: not ok %d %s # %s: %s"):format(nrun, test, msg, err))
|
|
nrun = nrun + 1
|
|
elseif e == "except" then
|
|
print(("\nTAP: not ok %d %s # exn; %s: %s"):format(nrun, test, msg, err))
|
|
nrun = nrun + 1
|
|
elseif e == "abort" then
|
|
print(("\nTAP: Bail out! %d %s # exn; %s: %s"):format(nrun, test, msg, err))
|
|
elseif e == "start" then
|
|
-- We don't know how many tests we plan to run, so emit a comment instead
|
|
print(("\nTAP: # STARTUP %s"):format(test))
|
|
nrun = 1
|
|
elseif e == "finish" then
|
|
-- Ah, now, here we go; we know how many tests we ran, so signal completion
|
|
print(("\nTAP: POST 1..%d"):format(nrun))
|
|
elseif #msg ~= 0 or #err ~= 0 then
|
|
print(("\nTAP: # %s: %s: %s"):format(test, msg, err))
|
|
end
|
|
end
|