From 6819505586aaf1425c4d49f89151e5b1dcb5dddc Mon Sep 17 00:00:00 2001 From: mattn Date: Mon, 25 Feb 2013 20:26:21 +0900 Subject: Add skip method for test --- test/assert.rb | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'test/assert.rb') 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 -- cgit v1.2.3