diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-02-23 00:29:49 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-02-23 00:29:49 -0600 |
commit | 779de1657856ea5bfc4ca6b364669bd4ab10127f (patch) | |
tree | 45310a9edb441c14788d11ce6c46c8a8df3c26e9 /src/main/scala/org/perl8/test/sbt | |
parent | 2fe79825e81feba3c29a86e0912d9d5598c5975b (diff) | |
download | scala-test-more-779de1657856ea5bfc4ca6b364669bd4ab10127f.tar.gz scala-test-more-779de1657856ea5bfc4ca6b364669bd4ab10127f.zip |
integrate with sbt
Diffstat (limited to 'src/main/scala/org/perl8/test/sbt')
-rw-r--r-- | src/main/scala/org/perl8/test/sbt/Fingerprint.scala | 6 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/sbt/Framework.scala | 13 | ||||
-rw-r--r-- | src/main/scala/org/perl8/test/sbt/Runner.scala | 45 |
3 files changed, 64 insertions, 0 deletions
diff --git a/src/main/scala/org/perl8/test/sbt/Fingerprint.scala b/src/main/scala/org/perl8/test/sbt/Fingerprint.scala new file mode 100644 index 0000000..cbe9403 --- /dev/null +++ b/src/main/scala/org/perl8/test/sbt/Fingerprint.scala @@ -0,0 +1,6 @@ +package org.perl8.test.sbt + +object Fingerprint extends org.scalatools.testing.SubclassFingerprint { + def isModule: Boolean = false + def superClassName: String = "org.perl8.test.Test" +} diff --git a/src/main/scala/org/perl8/test/sbt/Framework.scala b/src/main/scala/org/perl8/test/sbt/Framework.scala new file mode 100644 index 0000000..2fb4c7b --- /dev/null +++ b/src/main/scala/org/perl8/test/sbt/Framework.scala @@ -0,0 +1,13 @@ +package org.perl8.test.sbt + +class Framework extends org.scalatools.testing.Framework { + val name: String = "Perl8 Test" + val tests: Array[org.scalatools.testing.Fingerprint] = Array(Fingerprint) + + def testRunner ( + testClassLoader: ClassLoader, + loggers: Array[org.scalatools.testing.Logger] + ): org.scalatools.testing.Runner = { + new Runner(testClassLoader, loggers) + } +} diff --git a/src/main/scala/org/perl8/test/sbt/Runner.scala b/src/main/scala/org/perl8/test/sbt/Runner.scala new file mode 100644 index 0000000..86abbc9 --- /dev/null +++ b/src/main/scala/org/perl8/test/sbt/Runner.scala @@ -0,0 +1,45 @@ +package org.perl8.test.sbt + +import org.scalatools.testing.{EventHandler,Event,Result} +import java.io.{OutputStream,ByteArrayOutputStream} + +import org.perl8.test.harness.Utils._ +import org.perl8.test.harness.SummaryReporter +import org.perl8.test.Test + +class Runner ( + loader: ClassLoader, + loggers: Array[org.scalatools.testing.Logger] +) extends org.scalatools.testing.Runner2 { + def run ( + testClassName: String, + fingerprint: org.scalatools.testing.Fingerprint, + eventHandler: EventHandler, + args: Array[String] + ) { + val reporter = new SummaryReporter + val results = reporter.runTests(Seq(testClassName)) + results(testClassName)._2.results.foreach { r => + val event = new Event { + val testName: String = testClassName + val description: String = r.description + val result: Result = + if (r.passed) { + org.scalatools.testing.Result.Success + } + else if (r.directive.isDefined) { + org.scalatools.testing.Result.Skipped + } + else { + org.scalatools.testing.Result.Failure + } + val error: Throwable = null + } + eventHandler.handle(event) + } + } + + def println (thing: Any) { + loggers.foreach(_.info(thing.toString)) + } +} |