]> Dogcows Code - chaz/sbt-tap/blobdiff - src/main/scala/SbtTapReporting.scala
update tap protocol version to 13
[chaz/sbt-tap] / src / main / scala / SbtTapReporting.scala
index 531a86b463b9af88ba0650108a2779788268a96e..20b1130bbeab5ff6e9bda4f6b418bcb4a2183217 100644 (file)
@@ -21,11 +21,11 @@ class SbtTapListener extends TestsListener {
   var fileWriter: FileWriter = _
 
   override def doInit = {
-    new File("test-results").mkdirs
-
-    fileWriter = new FileWriter(
-      scala.util.Properties.envOrElse("SBT_TAP_OUTPUT", "test-results/test.tap")
-    )
+    val filename = scala.util.Properties.envOrElse("SBT_TAP_OUTPUT", "test-results/test.tap")
+    val file = new File(filename)
+    new File(file.getParent).mkdirs
+    fileWriter = new FileWriter(file)
+    writeTap("TAP", "version", 13)
   }
 
   def startGroup(name: String) =
@@ -41,15 +41,16 @@ class SbtTapListener extends TestsListener {
 
   def testEvent(event: TestEvent) = {
     event.detail.foreach { e: TEvent =>
+      val description = e.testName.replaceAll("#", "%23")
       e.result match {
-        case TResult.Success => writeTap("ok", testId.incrementAndGet, "-", e.testName)
+        case TResult.Success =>
+          writeTap("ok", testId.incrementAndGet, "-", description)
+        case TResult.Skipped =>
+          writeTap("ok", testId.incrementAndGet, "-", description, "# SKIP")
         case TResult.Error | TResult.Failure =>
-          writeTap("not ok", testId.incrementAndGet, "-", e.testName)
+          writeTap("not ok", testId.incrementAndGet, "-", description)
           // TODO: It would be nice if we could report the exact line in the test where this happened.
           writeTapDiag(stackTraceForError(e.error))
-        case TResult.Skipped =>
-          // it doesn't look like this framework distinguishes between pending and ignored.
-          writeTap("ok", testId.incrementAndGet, e.testName, "#", "skip", e.testName)
       }
     }
   }
This page took 0.022955 seconds and 4 git commands to generate.