summaryrefslogtreecommitdiffhomepage
path: root/test/assert.rb
diff options
context:
space:
mode:
authormattn <[email protected]>2013-02-25 20:26:21 +0900
committermattn <[email protected]>2013-02-25 20:26:21 +0900
commit6819505586aaf1425c4d49f89151e5b1dcb5dddc (patch)
tree931945dc2eae6eae67517c081d7ebf0d87db2643 /test/assert.rb
parent8a9026426e3355d8f0080df506855832b528c6a3 (diff)
downloadmruby-6819505586aaf1425c4d49f89151e5b1dcb5dddc.tar.gz
mruby-6819505586aaf1425c4d49f89151e5b1dcb5dddc.zip
Add skip method for test
Diffstat (limited to 'test/assert.rb')
-rw-r--r--test/assert.rb24
1 files changed, 21 insertions, 3 deletions
diff --git a/test/assert.rb b/test/assert.rb
index 027d2a66f..269c435a7 100644
--- a/test/assert.rb
+++ b/test/assert.rb
@@ -41,9 +41,14 @@ def assert(str = 'Assertion failed', iso = '')
print('.')
end
rescue Exception => e
- $asserts.push(assertion_string('Error: ', str, iso, e))
- $kill_test += 1
- print('X')
+ if e.class.to_s == 'MRubyTestSkip'
+ $asserts.push "Skip: #{str} #{iso} #{e.cause}"
+ print('?')
+ else
+ $asserts.push(assertion_string('Error: ', str, iso, e))
+ $kill_test += 1
+ print('X')
+ end
ensure
$mrbtest_assert = nil
end
@@ -157,3 +162,16 @@ def check_float(a, b)
true
end
end
+
+##
+# Skip the test
+class MRubyTestSkip < NotImplementedError
+ attr_accessor :cause
+ def initialize(cause)
+ @cause = cause
+ end
+end
+
+def skip(cause = "")
+ raise MRubyTestSkip.new(cause)
+end