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) {}
+ 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 =>
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()
t.printStackTrace(printWriter)
sw.toString
}
- def endGroup(name: String, t: Throwable) { }
-
- def endGroup(name: String, result: TestResult.Value) { }
}