diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-05-16 08:08:42 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-05-16 08:08:42 -0700 |
| commit | bc2314e625065b19a018f88485a5879fa26013ab (patch) | |
| tree | d9ebdce9f246607409efc65f414704c96fb677d3 /test/assert.rb | |
| parent | f202658d80105755fd56a664c4d4013fa71b21d4 (diff) | |
| parent | 26c6031a53867011eb33b624ed245d5603b778cf (diff) | |
| download | mruby-bc2314e625065b19a018f88485a5879fa26013ab.tar.gz mruby-bc2314e625065b19a018f88485a5879fa26013ab.zip | |
Merge pull request #143 from bovi/master
Test Improvement
Diffstat (limited to 'test/assert.rb')
| -rw-r--r-- | test/assert.rb | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/assert.rb b/test/assert.rb new file mode 100644 index 000000000..b2ce616e0 --- /dev/null +++ b/test/assert.rb @@ -0,0 +1,67 @@ +$ok_test = 0 +$ko_test = 0 +$kill_test = 0 +$asserts = [] + +## +# Print the assertion in a readable way +def print_assertion_string(str, iso) + print(str) + if(iso != '') + print(' [') + print(iso) + print(']') + end +end + +## +# Verify a code block. +# +# str : A remark which will be printed in case +# this assertion fails +# iso : The ISO reference code of the feature +# which will be tested by this +# assertion +def assert(str = 'Assertion failed', iso = '') + begin + if(!yield) + $asserts.push([str, iso]) + $ko_test += 1 + print('F') + else + $ok_test += 1 + print('.') + end + rescue + $kill_test += 1 + print('X') + end +end + +## +# Report the test result and print all assertions +# which were reported broken. +def report() + print "\n" + $asserts.each do |str, iso| + print('Fail: '); + print_assertion_string(str, iso) + print("\n") + end + + $total_test = $ok_test.+($ko_test) + print('Total: ') + print($total_test) + print("\n") + + print(' OK: ') + print($ok_test) + print("\n") + print(' KO: ') + print($ko_test) + print("\n") + print(' Crash: ') + print($kill_test) + print("\n") +end + |
