diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-03-01 11:50:34 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-03-01 11:50:34 -0600 |
commit | 01675281e8e40dcb65c92d7c9fecbe4a94d50bfa (patch) | |
tree | 274f7131ca695625586d92420b282a1f9cba478e | |
parent | 95215cdc96d271b12964e25986528a444061fc01 (diff) | |
download | scala-test-more-01675281e8e40dcb65c92d7c9fecbe4a94d50bfa.tar.gz scala-test-more-01675281e8e40dcb65c92d7c9fecbe4a94d50bfa.zip |
SkipAll shouldn't run tests at all, and should be a success
-rw-r--r-- | src/main/scala/org/perl8/test/TestMore.scala | 5 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/tap/Consumer.scala | 11 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/tap/TestBuilder.scala | 24 |
3 files changed, 29 insertions, 11 deletions
diff --git a/src/main/scala/org/perl8/test/TestMore.scala b/src/main/scala/org/perl8/test/TestMore.scala index 8d1724d..608a522 100644 --- a/src/main/scala/org/perl8/test/TestMore.scala +++ b/src/main/scala/org/perl8/test/TestMore.scala @@ -9,7 +9,10 @@ class TestMore (plan: Plan = NoPlan) extends Test with DelayedInit { testBody = { terminalInUse => todo = None builder = new TestBuilder(plan, terminalInUse) - body + plan match { + case SkipAll(_) => () + case _ => body + } } } diff --git a/src/main/scala/org/perl8/test/tap/Consumer.scala b/src/main/scala/org/perl8/test/tap/Consumer.scala index a92a8f8..5e03058 100644 --- a/src/main/scala/org/perl8/test/tap/Consumer.scala +++ b/src/main/scala/org/perl8/test/tap/Consumer.scala @@ -122,11 +122,16 @@ object Consumer { val testsPassed = fails == 0 - val success = - results.length > 0 && fails == 0 && matchesPlan + val success = plan match { + case SkipAll(_) => true + case _ => results.length > 0 && fails == 0 && matchesPlan + } val exitCode = - if (!matchesPlan || results.length == 0) { + if (success) { + 0 + } + else if (!matchesPlan || results.length == 0) { 255 } else { diff --git a/src/main/scala/org/perl8/test/tap/TestBuilder.scala b/src/main/scala/org/perl8/test/tap/TestBuilder.scala index 4092351..f0b4125 100644 --- a/src/main/scala/org/perl8/test/tap/TestBuilder.scala +++ b/src/main/scala/org/perl8/test/tap/TestBuilder.scala @@ -70,10 +70,17 @@ class TestBuilder private ( def doneTesting: Boolean = { plan match { - case NoPlan => outLine(Producer.plan(state.currentTest)) - case _ => () + case NumericPlan(_) => printErrors + case SkipAll(_) => () + case NoPlan => { + outLine(Producer.plan(state.currentTest)) + printErrors + } } + state.isPassing + } + private def printErrors { if (!state.matchesPlan) { val planCount = (plan match { case NoPlan => state.currentTest @@ -95,12 +102,13 @@ class TestBuilder private ( state.currentTest + (if (state.matchesPlan) "" else " run") diag("Looks like you failed " + fails + " of " + total + ".") } - - state.isPassing } def exitCode: Int = - if (!state.matchesPlan || state.currentTest == 0) { + if (state.isPassing) { + 0 + } + else if (!state.matchesPlan || state.currentTest == 0) { 255 } else { @@ -144,7 +152,9 @@ class TestBuilder private ( case _ => true } - def isPassing: Boolean = - currentTest > 0 && failCount == 0 && matchesPlan + def isPassing: Boolean = plan match { + case SkipAll(_) => true + case _ => currentTest > 0 && failCount == 0 && matchesPlan + } } } |