summaryrefslogtreecommitdiffhomepage
path: root/test/assert.rb
diff options
context:
space:
mode:
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
+