From b040805e6afae337b2602f794af9d3ddb1f003a5 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 1 Mar 2013 13:49:03 -0600 Subject: move more things around --- .../org/perl8/test/harness/SummarizedTests.scala | 3 +- .../org/perl8/test/harness/SummaryReporter.scala | 2 +- src/main/scala/org/perl8/test/tap/Consumer.scala | 45 --------------------- src/main/scala/org/perl8/test/tap/Parser.scala | 9 ----- src/main/scala/org/perl8/test/tap/TAPEvent.scala | 12 ++++++ src/main/scala/org/perl8/test/tap/TAPResult.scala | 46 ++++++++++++++++++++++ src/main/scala/org/perl8/test/tap/package.scala | 5 +++ src/test/scala/org/perl8/test/tap/ParserTest.scala | 1 - 8 files changed, 65 insertions(+), 58 deletions(-) create mode 100644 src/main/scala/org/perl8/test/tap/TAPEvent.scala create mode 100644 src/main/scala/org/perl8/test/tap/TAPResult.scala create mode 100644 src/main/scala/org/perl8/test/tap/package.scala diff --git a/src/main/scala/org/perl8/test/harness/SummarizedTests.scala b/src/main/scala/org/perl8/test/harness/SummarizedTests.scala index c235cdd..3688011 100644 --- a/src/main/scala/org/perl8/test/harness/SummarizedTests.scala +++ b/src/main/scala/org/perl8/test/harness/SummarizedTests.scala @@ -6,8 +6,7 @@ import scala.concurrent.duration.Duration import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future -import org.perl8.test.tap.Consumer.{TAPResult,TodoDirective} -import org.perl8.test.tap.{Parser,TAPEvent} +import org.perl8.test.tap.{Parser,TAPEvent,TAPResult,TodoDirective} import org.perl8.test.Test trait SummarizedTests { diff --git a/src/main/scala/org/perl8/test/harness/SummaryReporter.scala b/src/main/scala/org/perl8/test/harness/SummaryReporter.scala index 33b670b..083290b 100644 --- a/src/main/scala/org/perl8/test/harness/SummaryReporter.scala +++ b/src/main/scala/org/perl8/test/harness/SummaryReporter.scala @@ -1,7 +1,7 @@ package org.perl8.test.harness -import org.perl8.test.tap.Consumer.{TAPResult,TodoDirective} import org.perl8.test.tap.{TAPEvent,StartEvent,ResultEvent,PlanEvent,EndEvent} +import org.perl8.test.tap.{TAPResult,TodoDirective} import org.perl8.test.Test class SummaryReporter extends MultiTestReporter with SummarizedTests { diff --git a/src/main/scala/org/perl8/test/tap/Consumer.scala b/src/main/scala/org/perl8/test/tap/Consumer.scala index 5e03058..8c55e17 100644 --- a/src/main/scala/org/perl8/test/tap/Consumer.scala +++ b/src/main/scala/org/perl8/test/tap/Consumer.scala @@ -95,49 +95,4 @@ object Consumer { private val planRx = """^(\s*)1..(\d+)\s*(?:# SKIP (.*))?""".r private val resultRx = """^(\s*)(not )?ok (\d+)\s*([^#]+)?(?:#\s*(?i:(skip|todo))\s+(.*))?""".r - - sealed trait Directive { - val message: Option[String] - } - case class SkipDirective (message: Option[String]) extends Directive - case class TodoDirective (message: Option[String]) extends Directive - - class TestResult ( - val passed: Boolean, - val number: Int, - val description: String, - val directive: Option[Directive], - val subtest: Option[TAPResult] - ) - - class TAPResult (val plan: Plan, val results: Seq[TestResult]) { - val matchesPlan = plan match { - case NumericPlan(n) => results.length == n - case _ => results.length == 0 - } - - val fails = results.count { r => - !r.passed && !r.directive.isDefined - } - - val testsPassed = fails == 0 - - val success = plan match { - case SkipAll(_) => true - case _ => results.length > 0 && fails == 0 && matchesPlan - } - - val exitCode = - if (success) { - 0 - } - else if (!matchesPlan || results.length == 0) { - 255 - } - else { - fails - } - } - - case class ParseException (message: String) extends RuntimeException(message) } diff --git a/src/main/scala/org/perl8/test/tap/Parser.scala b/src/main/scala/org/perl8/test/tap/Parser.scala index 8b38ebc..1ab192f 100644 --- a/src/main/scala/org/perl8/test/tap/Parser.scala +++ b/src/main/scala/org/perl8/test/tap/Parser.scala @@ -194,12 +194,3 @@ class Parser private ( def column: Int = 1 } } - -sealed trait TAPEvent -case object StartEvent extends TAPEvent -case class EndEvent (result: TAPResult) extends TAPEvent -case class ResultEvent (result: TestResult) extends TAPEvent -case class PlanEvent (plan: Plan) extends TAPEvent -case object SubtestStartEvent extends TAPEvent -case class SubtestEndEvent (result: TestResult) extends TAPEvent -case class CommentEvent (text: String) extends TAPEvent diff --git a/src/main/scala/org/perl8/test/tap/TAPEvent.scala b/src/main/scala/org/perl8/test/tap/TAPEvent.scala new file mode 100644 index 0000000..184e7ab --- /dev/null +++ b/src/main/scala/org/perl8/test/tap/TAPEvent.scala @@ -0,0 +1,12 @@ +package org.perl8.test.tap + +import org.perl8.test.Plan + +sealed trait TAPEvent +case object StartEvent extends TAPEvent +case class EndEvent (result: TAPResult) extends TAPEvent +case class ResultEvent (result: TestResult) extends TAPEvent +case class PlanEvent (plan: Plan) extends TAPEvent +case object SubtestStartEvent extends TAPEvent +case class SubtestEndEvent (result: TestResult) extends TAPEvent +case class CommentEvent (text: String) extends TAPEvent diff --git a/src/main/scala/org/perl8/test/tap/TAPResult.scala b/src/main/scala/org/perl8/test/tap/TAPResult.scala new file mode 100644 index 0000000..21c7986 --- /dev/null +++ b/src/main/scala/org/perl8/test/tap/TAPResult.scala @@ -0,0 +1,46 @@ +package org.perl8.test.tap + +import org.perl8.test.{Plan,NumericPlan,SkipAll} + +sealed trait Directive { + val message: Option[String] +} +case class SkipDirective (message: Option[String]) extends Directive +case class TodoDirective (message: Option[String]) extends Directive + +class TestResult ( + val passed: Boolean, + val number: Int, + val description: String, + val directive: Option[Directive], + val subtest: Option[TAPResult] +) + +class TAPResult (val plan: Plan, val results: Seq[TestResult]) { + val matchesPlan = plan match { + case NumericPlan(n) => results.length == n + case _ => results.length == 0 + } + + val fails = results.count { r => + !r.passed && !r.directive.isDefined + } + + val testsPassed = fails == 0 + + val success = plan match { + case SkipAll(_) => true + case _ => results.length > 0 && fails == 0 && matchesPlan + } + + val exitCode = + if (success) { + 0 + } + else if (!matchesPlan || results.length == 0) { + 255 + } + else { + fails + } +} diff --git a/src/main/scala/org/perl8/test/tap/package.scala b/src/main/scala/org/perl8/test/tap/package.scala new file mode 100644 index 0000000..ffc732c --- /dev/null +++ b/src/main/scala/org/perl8/test/tap/package.scala @@ -0,0 +1,5 @@ +package org.perl8.test + +package object tap { + case class ParseException (message: String) extends RuntimeException(message) +} diff --git a/src/test/scala/org/perl8/test/tap/ParserTest.scala b/src/test/scala/org/perl8/test/tap/ParserTest.scala index 0781399..ee7fe83 100644 --- a/src/test/scala/org/perl8/test/tap/ParserTest.scala +++ b/src/test/scala/org/perl8/test/tap/ParserTest.scala @@ -1,7 +1,6 @@ package org.perl8.test.tap import org.perl8.test.{TestMore,SkipAll,NumericPlan} -import org.perl8.test.tap.Consumer.{SkipDirective,TodoDirective} class ParserTest extends TestMore { subtest ("basic") { -- cgit v1.2.3-54-g00ecf