summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMicah Anderson <micah@leap.se>2014-09-15 16:32:22 -0400
committerMicah Anderson <micah@leap.se>2014-09-15 16:33:38 -0400
commit027b26f0a1eda93b203d095c9ea2a83e51f90c12 (patch)
tree609a70dfb1e6ad94504e499e1e240479eb90e05f /bin
parent0df84cf7987c3047ecc0353e8d29c2c38437a5a2 (diff)
parent72bad39f8a21c3be33b17134d2e3ca11f5e0d58f (diff)
tests: add 'ignore' command to tests
Change-Id: I8ac3b6edd6a0cf7eae5486d61d1680765a8fad13
Diffstat (limited to 'bin')
-rwxr-xr-xbin/run_tests20
1 files changed, 17 insertions, 3 deletions
diff --git a/bin/run_tests b/bin/run_tests
index 2ee027f4..4a5801ac 100755
--- a/bin/run_tests
+++ b/bin/run_tests
@@ -41,6 +41,7 @@ end
##
# this class is raised if a test file wants to be skipped entirely.
+# (to skip an individual test, MiniTest::Skip is used instead)
class SkipTest < Exception
end
@@ -62,6 +63,8 @@ end
class LeapTest < MiniTest::Unit::TestCase
class Pass < MiniTest::Assertion
end
+ class Ignore < MiniTest::Assertion
+ end
def initialize(name)
super(name)
@@ -101,6 +104,13 @@ class LeapTest < MiniTest::Unit::TestCase
end
#
+ # Called when the test should be silently ignored.
+ #
+ def ignore
+ raise LeapTest::Ignore
+ end
+
+ #
# the default fail() is part of the kernel and it just throws a runtime exception. for tests,
# we want the same behavior as assert(false)
#
@@ -332,6 +342,7 @@ class LeapRunner < MiniTest::Unit
def initialize
@passes = 0
@warnings = 0
+ @ignores = 0
super
end
@@ -372,9 +383,12 @@ class LeapRunner < MiniTest::Unit
case e
when MiniTest::Skip then
@skips += 1
- #if @verbose
- report_line("SKIP", klass, meth, e, e.message)
- #end
+ report_line("SKIP", klass, meth, e, e.message)
+ when LeapTest::Ignore then
+ @ignores += 1
+ if @verbose
+ report_line("IGNORE", klass, meth, e, e.message)
+ end
when LeapTest::Pass then
@passes += 1
report_line("PASS", klass, meth)