summaryrefslogtreecommitdiffhomepage
path: root/test/assert.rb
diff options
context:
space:
mode:
authorYuichiro MASUI <[email protected]>2013-01-07 01:47:48 +0900
committerYuichiro MASUI <[email protected]>2013-01-07 02:58:36 +0900
commit280bad605e764d1caf59a3ee21b640e077b63d2f (patch)
treece57fad1d04ace7d51e767d05e85842cd0989210 /test/assert.rb
parent85370784a4f91028b79fe3786bb66e035d6261fa (diff)
downloadmruby-280bad605e764d1caf59a3ee21b640e077b63d2f.tar.gz
mruby-280bad605e764d1caf59a3ee21b640e077b63d2f.zip
Run mrbgems test run on isolate mrb_state each rb file.
Can access to current gem's name through GEMNAME from test. Can change assert library each mrbgems. used spec.test_preload on mrbgem.rake. assert library should set $ok_test, $ko_test, $kill_test, $asserts.
Diffstat (limited to 'test/assert.rb')
-rw-r--r--test/assert.rb30
1 files changed, 12 insertions, 18 deletions
diff --git a/test/assert.rb b/test/assert.rb
index 89e820a00..4fe95de9d 100644
--- a/test/assert.rb
+++ b/test/assert.rb
@@ -5,14 +5,13 @@ $asserts = []
$test_start = Time.now if Object.const_defined?(:Time)
##
-# Print the assertion in a readable way
-def print_assertion_string(str, iso)
- print(str)
- if(iso != '')
- print(' [')
- print(iso)
- print(']')
- end
+# Create the assertion in a readable way
+def assertion_string(err, str, iso=nil, e=nil)
+ msg = "#{err}#{str}"
+ msg += " [#{iso}]" if iso && iso != ''
+ msg += " => #{e.message}" if e
+ msg += " (mrbgems: #{GEMNAME})" if Object.const_defined?(:GEMNAME)
+ msg
end
##
@@ -26,7 +25,7 @@ end
def assert(str = 'Assertion failed', iso = '')
begin
if(!yield)
- $asserts.push(['Fail: ', str, iso])
+ $asserts.push(assertion_string('Fail: ', str, iso))
$ko_test += 1
print('F')
else
@@ -34,7 +33,7 @@ def assert(str = 'Assertion failed', iso = '')
print('.')
end
rescue Exception => e
- $asserts.push(['Error: ', str, iso, e])
+ $asserts.push(assertion_string('Error: ', str, iso, e))
$kill_test += 1
print('X')
end
@@ -45,14 +44,9 @@ end
# which were reported broken.
def report()
print "\n"
- $asserts.each do |err, str, iso, e|
- print(err);
- print_assertion_string(str, iso)
- if e
- print(" => ")
- print(e.message)
- end
- print("\n")
+
+ $asserts.each do |msg|
+ puts msg
end
$total_test = $ok_test.+($ko_test)