Packages

class ScalatestLinearizedTestReporter extends TestReporter

Serialises ScalaTest test events on a per-suite, per-test basis so that downstream reporters see a strict TestStarting → terminator → TestStarting → terminator … sequence within each suite.

This is required by several downstream ScalaTest reporters that pair-walk events within a suite and either throw RuntimeException("unexpected …") or otherwise corrupt their output when concurrent intra-suite test events interleave (distage testkit runs tests with parallelTests = Parallelism.Unlimited by default — see TestConfig.scala:79-82). The exception is silently swallowed by org.scalatest.CatchReporter:34-44, so the failure mode is "per-suite output file silently absent" rather than a crash — observed as JUnit XML test undercount.

Reporters that REQUIRE this serialisation (pair-walkers):

  • org.scalatest.tools.JUnitXmlReporter.processTest:284-345 (throws on stray test events)
  • org.scalatest.tools.XmlReporter:129-172, 467-469 (same pattern)
  • org.scalatest.tools.DashboardReporter.SuiteRecord.toXml:720-738 and TestRecord.addEvent:764-779 (throws on terminator without preceding start)

Reporters that BENEFIT (better-grouped output) but do not strictly require it:

  • org.scalatest.tools.HtmlReporter:1027-1083 — counter-style aggregation, tolerates interleaving but renders nicer with linearised events
  • Intellij's reporter (the original motivation for this class)

Reporters that are unaffected (per-event sinks):

  • All StringReporter-family sinks (PrintReporter, FileReporter, StandardOutReporter, StandardErrReporter)
  • MemoryReporter, FilterReporter, SbtDispatchReporter, SocketReporter, XmlSocketReporter
Linear Supertypes
TestReporter, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ScalatestLinearizedTestReporter
  2. TestReporter
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ScalatestLinearizedTestReporter(underlying: TestReporter)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def beginLevel(scope: ScopeId, depth: Int, suites: List[SuiteMeta]): Unit
  6. def beginScope(id: ScopeId): Unit
  7. def beginSuite(scopeId: ScopeId, depth: Int, suiteMeta: SuiteMeta): Unit
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. def endLevel(scope: ScopeId, depth: Int, suites: List[SuiteMeta]): Unit
  10. def endScope(id: ScopeId): Unit
  11. def endSuite(scopeId: ScopeId, depth: Int, suiteMeta: SuiteMeta): Unit
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def testSetupStatus(scope: ScopeId, depth: Int, meta: FullMeta, testStatus: Setup): Unit
  23. def testStatus(scope: ScopeId, depth: Int, meta: FullMeta, testStatus: TestStatus): Unit
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from TestReporter

Inherited from AnyRef

Inherited from Any

Ungrouped