diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2012-08-12 17:11:06 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2012-08-12 17:11:06 +0100 |
commit | d733d3a200a1d2a5aef697960badc02f1198d334 (patch) | |
tree | 0ba7a291c1d46d1f23f6febb75bad340aaea1faa /test/test-supple.track.lua | |
parent | 4515790d34ff0a955dfc24d1db075e08f71cef62 (diff) | |
download | supple-d733d3a200a1d2a5aef697960badc02f1198d334.tar.gz |
SUPPLE: Lots of diagnosis stuff
Diffstat (limited to 'test/test-supple.track.lua')
-rw-r--r-- | test/test-supple.track.lua | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/test-supple.track.lua b/test/test-supple.track.lua new file mode 100644 index 0000000..b9cc136 --- /dev/null +++ b/test/test-supple.track.lua @@ -0,0 +1,51 @@ +-- test/test-supple.track.lua +-- +-- Supple - Tests for the track module +-- +-- Copyright 2012 Daniel Silverstone <dsilvers@digital-scurf.org> +-- +-- For Licence terms, see COPYING +-- + +-- Step one, start coverage + +local luacov = require 'luacov' + +local track = 'supple.track' + +local testnames = {} + +local real_assert = assert +local total_asserts = 0 +local function assert(...) + local retval = real_assert(...) + total_asserts = total_asserts + 1 + return retval +end + +local function add_test(suite, name, value) + rawset(suite, name, value) + testnames[#testnames+1] = name +end + +local suite = setmetatable({}, {__newindex = add_test}) + +function suite:starts() + track.start() +end + +local count_ok = 0 +for _, testname in ipairs(testnames) do +-- print("Run: " .. testname) + local ok, err = xpcall(suite[testname], debug.traceback) + if not ok then + print(err) + print() + else + count_ok = count_ok + 1 + end +end + +print(tostring(count_ok) .. "/" .. tostring(#testnames) .. " [" .. tostring(total_asserts) .. "] OK") + +os.exit(count_ok == #testnames and 0 or 1) |