diff options
| author | Mark Pulford <mark@kyne.com.au> | 2011-12-13 23:06:06 +1030 |
|---|---|---|
| committer | Mark Pulford <mark@kyne.com.au> | 2011-12-13 23:06:06 +1030 |
| commit | 8e5aa7cfe7b873b4eb8dd522054e16a67fb66ca8 (patch) | |
| tree | 22e820373823eb0d76e170724eb7be8668a3e285 /tests/common.lua | |
| parent | 2be899558e59230c9fc866f6e004f6b6a17272a4 (diff) | |
| download | lua-cjson-8e5aa7cfe7b873b4eb8dd522054e16a67fb66ca8.tar.gz lua-cjson-8e5aa7cfe7b873b4eb8dd522054e16a67fb66ca8.tar.bz2 lua-cjson-8e5aa7cfe7b873b4eb8dd522054e16a67fb66ca8.zip | |
Update build testing to show test counts/failures
Display failed tests, and successful/total test counts.
Use "awk" to provide a portable "ggrep -E" with context.
Diffstat (limited to '')
| -rw-r--r-- | tests/common.lua | 14 |
1 files changed, 12 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 |
