summaryrefslogtreecommitdiffhomepage
path: root/test/assert.rb
diff options
context:
space:
mode:
authorDaniel Bovensiepen <[email protected]>2012-05-16 16:07:55 +0800
committerDaniel Bovensiepen <[email protected]>2012-05-16 16:07:55 +0800
commit26c6031a53867011eb33b624ed245d5603b778cf (patch)
treed9ebdce9f246607409efc65f414704c96fb677d3 /test/assert.rb
parentdd6af6d2ec17c88c87844e75cd973fb4569c4c88 (diff)
downloadmruby-26c6031a53867011eb33b624ed245d5603b778cf.tar.gz
mruby-26c6031a53867011eb33b624ed245d5603b778cf.zip
Move assert lib for tests one directory up and add it always in the beginning
Diffstat (limited to 'test/assert.rb')
-rw-r--r--test/assert.rb67
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
+