diff options
Diffstat (limited to 'city/minunit.lua')
-rw-r--r-- | city/minunit.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/city/minunit.lua b/city/minunit.lua new file mode 100644 index 0000000..7f735e6 --- /dev/null +++ b/city/minunit.lua @@ -0,0 +1,29 @@ +local tests_run = 0 +local tests_failed = 0 + +local function printf(fmt, ...) + print(string.format(fmt, ...)) +end + +function test(description, testfunc) + tests_run = tests_run + 1 + local ok, err = pcall(testfunc) + if ok then + printf('\t%s: OK', description) + else + printf('\t%s: FAIL\n\t%s\n', description, err) + tests_failed = tests_failed + 1 + end +end + +function suite(name) + local n_tests_old = tests_run + local n_failed_old = tests_failed + printf('suite: %s', name) + require(name) + printf('\tran %d tests, %d failed', + tests_run - n_tests_old, + tests_failed - n_failed_old) +end + +return { test=test, suite=suite } |