aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/scala/org/perl8/test/sbt/SBTReporter.scala
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2013-03-06 15:32:26 -0600
committerJesse Luehrs <doy@tozt.net>2013-03-06 15:32:26 -0600
commit7efb2caf7d8832a7d3a9d2ac55862e43267a3eb2 (patch)
tree49fcb4d31bec67bcb67c1262abc25c5e5ecb1e51 /src/main/scala/org/perl8/test/sbt/SBTReporter.scala
parent66bcf3627a38ef58dabaf90b7e597569b91ea3e8 (diff)
downloadscala-test-more-7efb2caf7d8832a7d3a9d2ac55862e43267a3eb2.tar.gz
scala-test-more-7efb2caf7d8832a7d3a9d2ac55862e43267a3eb2.zip
move the directory structure too
Diffstat (limited to 'src/main/scala/org/perl8/test/sbt/SBTReporter.scala')
-rw-r--r--src/main/scala/org/perl8/test/sbt/SBTReporter.scala99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/main/scala/org/perl8/test/sbt/SBTReporter.scala b/src/main/scala/org/perl8/test/sbt/SBTReporter.scala
deleted file mode 100644
index 34df60d..0000000
--- a/src/main/scala/org/perl8/test/sbt/SBTReporter.scala
+++ /dev/null
@@ -1,99 +0,0 @@
-package com.iinteractive.test.sbt
-
-import org.scalatools.testing
-
-import com.iinteractive.test.harness.{Reporter,SummarizedTests}
-import com.iinteractive.test.tap.{TAPEvent,ResultEvent,EndEvent}
-import com.iinteractive.test.Test
-
-/** Runs a single test under the SBT test harness. */
-class SBTReporter (
- loader: ClassLoader,
- loggers: Array[testing.Logger],
- eventHandler: testing.EventHandler
-) extends Reporter with SummarizedTests {
- def run (testName: String): Int = {
- val cb = (e: TAPEvent) => e match {
- case ResultEvent(r) => {
- val event = new testing.Event {
- val testName: String = r.description
- val description: String = r.description
- val result: testing.Result =
- if (r.passed) {
- testing.Result.Success
- }
- else if (r.directive.isDefined) {
- testing.Result.Skipped
- }
- else {
- testing.Result.Failure
- }
- val error: Throwable = null
- }
- eventHandler.handle(event)
- }
- case EndEvent(result) => {
- val testsPassed = result.success
- val correctCode = result.exitCode == 0
- val event = new testing.Event {
- val testName: String = "exit code is 0"
- val description: String = "exit code is 0"
- val result: testing.Result =
- if (correctCode) {
- testing.Result.Success
- }
- else {
- testing.Result.Failure
- }
- val error: Throwable = null
- }
- eventHandler.handle(event)
-
- if (testsPassed && correctCode) {
- logInfo("PASS " + testName)
- }
- else {
- val results = result.results.length
- val failed = result.results.count { t =>
- !t.passed && !t.directive.isDefined
- }
-
- val errors = Seq(
- (if (testsPassed)
- None
- else
- Some("failed " + failed + "/" + results)),
- (if (correctCode)
- None
- else
- Some("non-zero exit code: " + result.exitCode))
- ).flatten.mkString("(", ", ", ")")
-
- logError("FAIL " + testName + " " + errors)
- }
- }
- case _ => ()
- }
-
- runOneTest(
- loader.loadClass(testName).newInstance.asInstanceOf[Test],
- cb
- ).exitCode
- }
-
- private def logDebug (msg: String) {
- loggers.foreach(_.debug(msg))
- }
-
- private def logInfo (msg: String) {
- loggers.foreach(_.info(msg))
- }
-
- private def logWarn (msg: String) {
- loggers.foreach(_.warn(msg))
- }
-
- private def logError (msg: String) {
- loggers.foreach(_.error(msg))
- }
-}