]> Dogcows Code - chaz/sbt-tap/blobdiff - src/main/scala/SbtTapReporting.scala
flush the output
[chaz/sbt-tap] / src / main / scala / SbtTapReporting.scala
index 0d7f26b3a69eb32674b09790fe7c8e95942dd2db..e828c2d6b977a360c0f53c6ff52c09612d3c5f5a 100644 (file)
@@ -5,7 +5,7 @@ import org.scalatools.testing.{Event => TEvent, Result => TResult}
 import java.util.concurrent.atomic.AtomicInteger
 
 object SbtTapReporting extends Plugin {
-  lazy val tapListener = new SbtTapListener
+  def apply() = new SbtTapListener
 }
 
 /**
@@ -23,7 +23,9 @@ class SbtTapListener extends TestsListener {
   override def doInit {
     new File("test-results").mkdirs()
 
-    fileWriter = new FileWriter("test-results/test.tap")
+    fileWriter = new FileWriter(
+      scala.util.Properties.envOrElse("SBT_TAP_OUTPUT", "test-results/test.tap")
+    )
   }
 
   def startGroup(name: String) {}
@@ -50,7 +52,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()
This page took 0.020226 seconds and 4 git commands to generate.