diff options
Diffstat (limited to 'test/assert.rb')
| -rw-r--r-- | test/assert.rb | 24 |
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 |
