summaryrefslogtreecommitdiff
path: root/city/minunit.lua
diff options
context:
space:
mode:
Diffstat (limited to 'city/minunit.lua')
-rw-r--r--city/minunit.lua29
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 }