aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-03-01 11:50:34 -0600
committerJesse Luehrs <doy@tozt.net>2013-03-01 11:50:34 -0600
commit01675281e8e40dcb65c92d7c9fecbe4a94d50bfa (patch)
tree274f7131ca695625586d92420b282a1f9cba478e
parent95215cdc96d271b12964e25986528a444061fc01 (diff)
downloadscala-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.scala5
-rw-r--r--src/main/scala/org/perl8/test/tap/Consumer.scala11
-rw-r--r--src/main/scala/org/perl8/test/tap/TestBuilder.scala24
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
+ }
}
}