Port tests/t543

This commit is contained in:
Eugene Yokota 2016-03-29 02:35:37 -04:00
parent 85b9a78245
commit f934ba0211
2 changed files with 33 additions and 37 deletions

View File

@ -0,0 +1,33 @@
import Tests._
import Defaults._
import java.io.{ CharArrayWriter, PrintWriter }
val marker = new File("marker")
val check = TaskKey[Unit]("check", "Check correct error has been returned.")
lazy val root = (project in file(".")).
settings(
libraryDependencies += "org.scalatest" %% "scalatest" % "1.8" % Test,
scalaVersion := "2.9.2",
fork := true,
testListeners += new TestReportListener {
def testEvent(event: TestEvent): Unit = {
for (e <- event.detail.filter(_.status == sbt.testing.Status.Failure)) {
if (e.throwable != null && e.throwable.isDefined) {
val caw = new CharArrayWriter
e.throwable.get.printStackTrace(new PrintWriter(caw))
if (caw.toString.contains("Test.scala:"))
marker.createNewFile()
}
}
}
def startGroup(name: String): Unit = ()
def endGroup(name: String, t: Throwable): Unit = ()
def endGroup(name: String, result: TestResult.Value): Unit = ()
},
check := {
val exists = marker.exists
marker.delete()
if (!exists) sys.error("Null or invalid error had been returned previously")
}
)

View File

@ -1,37 +0,0 @@
import sbt._
import Keys._
import Tests._
import Defaults._
import java.io.{ CharArrayWriter, PrintWriter }
import Import._
object Ticket543Test extends Build {
val marker = new File("marker")
val check = TaskKey[Unit]("check", "Check correct error has been returned.")
lazy val root = Project("root", file("."), settings = defaultSettings ++ Seq(
libraryDependencies += "org.scalatest" %% "scalatest" % "1.8" % "test",
scalaVersion := "2.9.2",
fork := true,
testListeners += new TestReportListener {
def testEvent(event: TestEvent): Unit = {
for (e <- event.detail.filter(_.status == sbt.testing.Status.Failure)) {
if (e.throwable != null && e.throwable.isDefined) {
val caw = new CharArrayWriter
e.throwable.get.printStackTrace(new PrintWriter(caw))
if (caw.toString.contains("Test.scala:"))
marker.createNewFile()
}
}
}
def startGroup(name: String): Unit = ()
def endGroup(name: String, t: Throwable): Unit = ()
def endGroup(name: String, result: TestResult.Value): Unit = ()
},
check := {
val exists = marker.exists
marker.delete()
if (!exists) sys.error("Null or invalid error had been returned previously")
}
))
}