diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/common.lua | 14 | ||||
-rwxr-xr-x | tests/test.lua | 8 |
2 files changed, 20 insertions, 2 deletions
diff --git a/tests/common.lua b/tests/common.lua index 0b231bd..f3dc6f7 100644 --- a/tests/common.lua +++ b/tests/common.lua | |||
@@ -176,6 +176,13 @@ function compare_values(val1, val2) | |||
176 | return true | 176 | return true |
177 | end | 177 | end |
178 | 178 | ||
179 | local test_count_pass = 0 | ||
180 | local test_count_total = 0 | ||
181 | |||
182 | function run_test_summary() | ||
183 | return test_count_pass, test_count_total | ||
184 | end | ||
185 | |||
179 | function run_test(testname, func, input, should_work, output) | 186 | function run_test(testname, func, input, should_work, output) |
180 | local function status_line(name, status, value) | 187 | local function status_line(name, status, value) |
181 | local statusmap = { [true] = ":success", [false] = ":error" } | 188 | local statusmap = { [true] = ":success", [false] = ":error" } |
@@ -191,10 +198,13 @@ function run_test(testname, func, input, should_work, output) | |||
191 | local correct = false | 198 | local correct = false |
192 | if success == should_work and compare_values(result, output) then | 199 | if success == should_work and compare_values(result, output) then |
193 | correct = true | 200 | correct = true |
201 | test_count_pass = test_count_pass + 1 | ||
194 | end | 202 | end |
203 | test_count_total = test_count_total + 1 | ||
195 | 204 | ||
196 | local teststatus = { [true] = "PASS", [false] = "FAIL" } | 205 | local teststatus = { [true] = "PASS", [false] = "FAIL" } |
197 | print("==> Test " .. testname .. ": " .. teststatus[correct]) | 206 | print(string.format("==> Test[%d] / %s: %s", |
207 | test_count_total, testname, teststatus[correct])) | ||
198 | 208 | ||
199 | status_line("Input", nil, input) | 209 | status_line("Input", nil, input) |
200 | if not correct then | 210 | if not correct then |
@@ -216,7 +226,7 @@ function run_test_group(testgroup, tests) | |||
216 | end | 226 | end |
217 | 227 | ||
218 | local function test_id(group, id) | 228 | local function test_id(group, id) |
219 | return string.format("%s [%d]", group, id) | 229 | return string.format("%s[%d]", group, id) |
220 | end | 230 | end |
221 | 231 | ||
222 | for k, v in ipairs(tests) do | 232 | for k, v in ipairs(tests) do |
diff --git a/tests/test.lua b/tests/test.lua index b7b50d2..90d216c 100755 --- a/tests/test.lua +++ b/tests/test.lua | |||
@@ -245,4 +245,12 @@ for i = 1, #arg do | |||
245 | true, { true }) | 245 | true, { true }) |
246 | end | 246 | end |
247 | 247 | ||
248 | local pass, total = run_test_summary() | ||
249 | |||
250 | print(string.format("==> Summary: %d/%d tests succeeded", pass, total)) | ||
251 | |||
252 | if pass ~= total then | ||
253 | os.exit(1) | ||
254 | end | ||
255 | |||
248 | -- vi:ai et sw=4 ts=4: | 256 | -- vi:ai et sw=4 ts=4: |