]> Dogcows Code - chaz/sbt-tap/blobdiff - src/main/scala/SbtTapReporting.scala
output start/end group as tap diagnostics
[chaz/sbt-tap] / src / main / scala / SbtTapReporting.scala
index 14b0576c2e742ff46d06f701ea44539537ec3105..097157a520359f862faee08c7ba748c7597908b4 100644 (file)
@@ -28,7 +28,17 @@ class SbtTapListener extends TestsListener {
     )
   }
 
-  def startGroup(name: String) {}
+  def startGroup(name: String) {
+    writeTapFields("#", "start", name)
+  }
+
+  def endGroup(name: String, result: TestResult.Value) {
+    writeTapFields("#", "end", name, "with result", result.toString.toLowerCase)
+  }
+
+  def endGroup(name: String, t: Throwable) {
+    writeTapFields("#", "end", name)
+  }
 
   def testEvent(event: TestEvent) {
     event.detail.foreach { e: TEvent =>
@@ -52,7 +62,10 @@ class SbtTapListener extends TestsListener {
     fileWriter.close()
   }
 
-  private def writeTapFields(s: Any*) { fileWriter.write(s.mkString("",  " ", "\n")) }
+  private def writeTapFields(s: Any*) {
+    fileWriter.write(s.mkString("",  " ", "\n"))
+    fileWriter.flush()
+  }
 
   private def stackTraceForError(t: Throwable): String = {
     val sw = new StringWriter()
@@ -60,7 +73,4 @@ class SbtTapListener extends TestsListener {
     t.printStackTrace(printWriter)
     sw.toString
   }
-  def endGroup(name: String, t: Throwable) { }
-
-  def endGroup(name: String, result: TestResult.Value) { }
 }
This page took 0.02355 seconds and 4 git commands to generate.