Skip to content

Commit d0752a4

Browse files
committed
Added analysis field to TestFailed event, and display the analysis in StringReporter.
1 parent d724f93 commit d0752a4

22 files changed

+133
-37
lines changed

scalatest-test/src/test/scala/org/scalatest/CatchReporterSpec.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ class CatchReporterSpec extends FunSpec {
5656
catchReporter(TestIgnored(new Ordinal(99), "suite name", "suite ID", Some("suite.className"), "test name", "test name"))
5757

5858
intercept[RuntimeException] {
59-
buggyReporter(TestFailed(new Ordinal(99), "message", "suite name", "suite ID", Some("suite.className"), "test name", "test name", Vector.empty, None))
59+
buggyReporter(TestFailed(new Ordinal(99), "message", "suite name", "suite ID", Some("suite.className"), "test name", "test name", Vector.empty, Vector.empty, None))
6060
}
61-
catchReporter(TestFailed(new Ordinal(99), "message", "suite name", "suite ID", Some("suite.className"), "test name", "test name", Vector.empty, None))
61+
catchReporter(TestFailed(new Ordinal(99), "message", "suite name", "suite ID", Some("suite.className"), "test name", "test name", Vector.empty, Vector.empty, None))
6262

6363
intercept[RuntimeException] {
6464
buggyReporter(SuiteStarting(new Ordinal(99), "suite name", "suite ID", None, None))

scalatest-test/src/test/scala/org/scalatest/DispatchReporterSpec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,8 @@ class DispatchReporterSpec extends FunSpec {
144144
suiteClassName = Some("suiteClassName"),
145145
testName = "the test name",
146146
testText = "test name",
147-
recordedEvents = collection.immutable.IndexedSeq.empty
147+
recordedEvents = collection.immutable.IndexedSeq.empty,
148+
analysis = collection.immutable.IndexedSeq.empty
148149
)
149150
)
150151
}

scalatest-test/src/test/scala/org/scalatest/events/EventSpec.scala

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ class EventSpec extends FunSpec with Checkers {
228228
}
229229
}
230230

231-
describe("TestFailed event") {
231+
describe("A TestFailed event") {
232232

233233
it("should return correct JSON in its toJson method") {
234234
val event =
@@ -249,6 +249,7 @@ class EventSpec extends FunSpec with Checkers {
249249
Some(LineInFile(456, "Test.scala", None))
250250
)
251251
),
252+
Vector.empty,
252253
Some(new RuntimeException("fail message here")),
253254
Some(555),
254255
Some(MotionToSuppress),
@@ -317,6 +318,71 @@ class EventSpec extends FunSpec with Checkers {
317318
case Left(failure) => fail("Unable to parse JSON: " + jsonText + ", failure: " + failure.message)
318319
}
319320
}
321+
322+
it("should carry correct differences value when used with s1 shouldEqual s2 syntax") {
323+
class ExampleSpec extends FunSuite with Matchers {
324+
test("test") {
325+
"s1" shouldEqual "s2"
326+
}
327+
}
328+
val rep = new EventRecordingReporter
329+
val suite = new ExampleSpec
330+
suite.run(None, Args(rep))
331+
val failedEvents = rep.testFailedEventsReceived
332+
assert(failedEvents.length == 1)
333+
val analysis = failedEvents(0).analysis
334+
assert(analysis.length == 1)
335+
assert(analysis(0) == "\"s[1]\" -> \"s[2]\"")
336+
}
337+
338+
it("should carry correct differences value when used with s1 should equal s2 syntax") {
339+
class ExampleSpec extends FunSuite with Matchers {
340+
test("test") {
341+
"s1" should equal ("s2")
342+
}
343+
}
344+
val rep = new EventRecordingReporter
345+
val suite = new ExampleSpec
346+
suite.run(None, Args(rep))
347+
val failedEvents = rep.testFailedEventsReceived
348+
assert(failedEvents.length == 1)
349+
val analysis = failedEvents(0).analysis
350+
assert(analysis.length == 1)
351+
assert(analysis(0) == "\"s[1]\" -> \"s[2]\"")
352+
}
353+
354+
it("should carry correct differences value when used with all(s1) shouldEqual s2 syntax") {
355+
class ExampleSpec extends FunSuite with Matchers {
356+
test("test") {
357+
all(List("s1")) shouldEqual "s2"
358+
}
359+
}
360+
val rep = new EventRecordingReporter
361+
val suite = new ExampleSpec
362+
suite.run(None, Args(rep))
363+
val failedEvents = rep.testFailedEventsReceived
364+
assert(failedEvents.length == 1)
365+
val analysis = failedEvents(0).analysis
366+
assert(analysis.length == 1)
367+
assert(analysis(0) == "\"s[1]\" -> \"s[2]\"")
368+
}
369+
370+
it("should carry correct differences value when used with all(s1) should equal s2 syntax") {
371+
class ExampleSpec extends FunSuite with Matchers {
372+
test("test") {
373+
all(List("s1")) should equal ("s2")
374+
}
375+
}
376+
val rep = new EventRecordingReporter
377+
val suite = new ExampleSpec
378+
suite.run(None, Args(rep))
379+
val failedEvents = rep.testFailedEventsReceived
380+
assert(failedEvents.length == 1)
381+
val analysis = failedEvents(0).analysis
382+
assert(analysis.length == 1)
383+
assert(analysis(0) == "\"s[1]\" -> \"s[2]\"")
384+
}
385+
320386
}
321387

322388
describe("TestIgnored event") {

scalatest-test/src/test/scala/org/scalatest/junit/RunNotifierSuite.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,9 @@ class RunNotifierSuite extends FunSuite {
7676

7777
import scala.language.reflectiveCalls
7878

79-
reporter(TestFailed(ordinal, "No msg", "SuiteClassName", "suite ID", Some("fully.qualified.SuiteClassName"), "theTestName", "theTestName", Vector.empty, Some(exception)))
79+
reporter(TestFailed(ordinal, "No msg", "SuiteClassName", "suite ID", Some("fully.qualified.SuiteClassName"), "theTestName", "theTestName", Vector.empty, Vector.empty, Some(exception)))
8080
assert(runNotifier.passed.get.getDescription.getDisplayName === "theTestName(fully.qualified.SuiteClassName)")
81-
reporter(TestFailed(ordinal, "No msg", "SuiteClassName", "suite ID", None, "theTestName", "theTestName", Vector.empty, Some(exception)))
81+
reporter(TestFailed(ordinal, "No msg", "SuiteClassName", "suite ID", None, "theTestName", "theTestName", Vector.empty, Vector.empty, Some(exception)))
8282
assert(runNotifier.passed.get.getDescription.getDisplayName === "theTestName(SuiteClassName)")
8383
}
8484

scalatest-test/src/test/scala/org/scalatest/testng/TestNGSuiteSuite.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ import org.scalatest.jmock.JMockCycle
6969

7070
// then
7171
testReporter.lastEvent match {
72-
case Some(TestFailed(_, _, _, _, _, _, _, _, throwable, _, _, _, _, _, _, _)) =>
72+
case Some(TestFailed(_, _, _, _, _, _, _, _, _, throwable, _, _, _, _, _, _, _)) =>
7373
assert(throwable.get.getMessage === "fail")
7474
case _ => fail()
7575
}
@@ -139,7 +139,7 @@ import org.scalatest.jmock.JMockCycle
139139

140140
// then get rerunnable from the event
141141
testReporter.lastEvent match {
142-
case Some(TestFailed(_, _, _, _, _, _, _, _, _, _, _, _, rerunnable, _, _, _)) =>
142+
case Some(TestFailed(_, _, _, _, _, _, _, _, _, _, _, _, _, rerunnable, _, _, _)) =>
143143
assert(rerunnable.isDefined)
144144
case _ => fail()
145145
}

scalatest-test/src/test/scala/org/scalatest/tools/DashboardReporterSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class DashboardReporterSpec extends FunSpec {
3131
rep(SuiteStarting(ordinal.next, "TestSuite", "com.test.TestSuite", Some("com.test.TestSuite")))
3232
rep(TestStarting(ordinal.next, "TestSuite", "com.test.TestSuite", Some("com.test.TestSuite"), "test 1", "test 1"))
3333
rep(TestFailed(ordinal.next, "a test using <function1> failed", "TestSuite", "com.test.TestSuite", Some("com.test.TestSuite"),
34-
"test 1", "test 1", collection.immutable.IndexedSeq.empty[RecordableEvent], Some(new RuntimeException("a <function1> caused the problem"))))
34+
"test 1", "test 1", collection.immutable.IndexedSeq.empty[RecordableEvent], Vector.empty, Some(new RuntimeException("a <function1> caused the problem"))))
3535
rep(SuiteCompleted(ordinal.next, "TestSuite", "com.test.TestSuite", Some("com.test.TestSuite")))
3636
rep(RunCompleted(ordinal.next))
3737
}

scalatest-test/src/test/scala/org/scalatest/tools/JUnitXmlReporterSuite.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ class JUnitXmlReporterSuite extends FunSuite {
174174
suiteClassName = Some("Suite3Class"),
175175
testName = "a fail test",
176176
testText = "a fail test text",
177-
recordedEvents = Vector.empty[RecordableEvent])
177+
recordedEvents = Vector.empty[RecordableEvent],
178+
analysis = Vector.empty[String])
178179

179180
val startTest3 =
180181
TestStarting(

scalatest-test/src/test/scala/org/scalatest/tools/MemoryReporterSuite.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ class MemoryReporterSuite extends FunSuite {
6262
testName = "Some(say one)",
6363
testText = "say one",
6464
recordedEvents = Vector.empty[RecordableEvent],
65+
analysis = Vector.empty[String],
6566
rerunner = Some("org.example.OneSuite"))
6667

6768
val testStarting2 =

scalatest-test/src/test/scala/org/scalatest/tools/StringReporterSuite.scala

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ class StringReporterSuite extends FunSuite with Matchers {
137137
errorMessageFun = Resources.infoProvided,
138138
message = msg,
139139
throwable = None,
140+
analysis = Vector.empty,
140141
formatter = None,
141142
suiteName = None,
142143
testName = None,
@@ -430,7 +431,7 @@ import StringReporter.withPossibleLineNumber
430431

431432
case class Person(name: String, age: Int)
432433

433-
/*test("StringReporter should include difference analysis in the content it display") {
434+
test("StringReporter should include difference analysis in the content it display") {
434435
class ExampleSpec extends FunSuite with Matchers {
435436
test("test") {
436437
Person("Student 1", 22) shouldEqual Person("Student 2", 23)
@@ -439,13 +440,14 @@ import StringReporter.withPossibleLineNumber
439440
val rep = new BuilderStringReporter(false)
440441
val suite = new ExampleSpec
441442
suite.run(None, Args(rep))
443+
val failingLineNumber = thisLineNumber - 6
442444
assert(rep.content ==
443-
"""- test *** FAILED ***
444-
| Person(Student 1,22) did not equal Person(Student 2,23) (StringReporterSuite.scala:431)
445-
| Difference Analysis:
446-
| StringReporterSuite$Person(age: 22 -> 23, name: Student [1] -> Student [2])
445+
s"""- test *** FAILED ***
446+
| Person(Student 1,22) did not equal Person(Student 2,23) (StringReporterSuite.scala:$failingLineNumber)
447+
| Analysis:
448+
| StringReporterSuite$$Person(age: 22 -> 23, name: "Student [1]" -> "Student [2]")
447449
|""".stripMargin
448450
)
449-
}*/
451+
}
450452
}
451453

scalatest-test/src/test/scala/org/scalatest/tools/StringReporterSummarySpec.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class StringReporterSummarySpec extends UnitSpec {
8585
testName = "the summaryFragments method should fail on purpose",
8686
testText = "should fail on purpose",
8787
recordedEvents = Vector.empty,
88+
analysis = Vector.empty,
8889
throwable = Some(testFailedException),
8990
duration = Some(16),
9091
formatter = Some(IndentedText("THIS SHOULD NOT BE USED", "SHOULD NOT BE USED", 1)),

scalatest-test/src/test/scala/org/scalatest/tools/XmlSocketReporterSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@ class XmlSocketReporterSpec extends FunSpec with Eventually {
558558

559559
val rep = new XmlSocketReporter("localhost", socket.getLocalPort)
560560
rep(TestFailed(new Ordinal(0), "test <function1> failed, because: \n <function1> is buggy.", "TestSuite", "com.test.TestSuite", Some("com.test.TestSuite"),
561-
"test 1", "test 1", collection.immutable.IndexedSeq.empty[RecordableEvent], Some(new RuntimeException("test <function1> failed, because: \n <function1> is buggy."))))
561+
"test 1", "test 1", collection.immutable.IndexedSeq.empty[RecordableEvent], collection.immutable.IndexedSeq.empty[String], Some(new RuntimeException("test <function1> failed, because: \n <function1> is buggy."))))
562562
rep(TestCanceled(new Ordinal(0), "test <function1> canceled, because: \n <function1> is buggy.", "TestSuite", "com.test.TestSuite", Some("com.test.TestSuite"),
563563
"test 2", "test 2", collection.immutable.IndexedSeq.empty[RecordableEvent], Some(new RuntimeException("test <function1> canceled, because: \n <function1> is buggy."))))
564564
rep(InfoProvided(new Ordinal(0), "some <function1> info, because: \n <function1> is buggy.", Some(NameInfo("TestSuite", "com.test.TestSuite", Some("com.test.TestSuite"), Some("test 2"))),

scalatest/src/main/resources/org/scalatest/ScalaTestBundle.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -715,3 +715,5 @@ rightParensCommaAnd={0}, and ({1})
715715
bothParensCommaAnd=({0}), and ({1})
716716

717717
assertionWasTrue=Assertion was true
718+
719+
analysis=Analysis:

scalatest/src/main/scala/org/scalatest/Suite.scala

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,6 +1681,12 @@ used for test events like succeeded/failed, etc.
16811681

16821682
def xmlContent(value: String) = unparsedXml(substituteHtmlSpace(value))
16831683

1684+
def analysisFromThrowable(throwable: Throwable): scala.collection.immutable.IndexedSeq[String] =
1685+
throwable match {
1686+
case tfe: TestFailedException => tfe.analysis
1687+
case _ => Vector.empty
1688+
}
1689+
16841690
def reportTestFailed(theSuite: Suite, report: Reporter, throwable: Throwable, testName: String, testText: String,
16851691
recordedEvents: collection.immutable.IndexedSeq[RecordableEvent], rerunnable: Option[String], tracker: Tracker, duration: Long, formatter: Formatter, location: Option[Location]): Unit = {
16861692

@@ -1693,7 +1699,7 @@ used for test events like succeeded/failed, etc.
16931699
case _ =>
16941700
None
16951701
}
1696-
report(TestFailed(tracker.nextOrdinal(), message, theSuite.suiteName, theSuite.suiteId, Some(theSuite.getClass.getName), testName, testText, recordedEvents, Some(throwable), Some(duration), Some(formatter), location, theSuite.rerunner, payload))
1702+
report(TestFailed(tracker.nextOrdinal(), message, theSuite.suiteName, theSuite.suiteId, Some(theSuite.getClass.getName), testName, testText, recordedEvents, analysisFromThrowable(throwable), Some(throwable), Some(duration), Some(formatter), location, theSuite.rerunner, payload))
16971703
}
16981704

16991705
// TODO: Possibly separate these out from method tests and function tests, because locations are different
@@ -2104,7 +2110,7 @@ used for test events like succeeded/failed, etc.
21042110
case _ =>
21052111
None
21062112
}
2107-
report(TestFailed(tracker.nextOrdinal(), message, theSuite.suiteName, theSuite.suiteId, Some(theSuite.getClass.getName), testName, testName, recordedEvents, Some(throwable), Some(duration), Some(formatter), Some(SeeStackDepthException), theSuite.rerunner, payload))
2113+
report(TestFailed(tracker.nextOrdinal(), message, theSuite.suiteName, theSuite.suiteId, Some(theSuite.getClass.getName), testName, testName, recordedEvents, analysisFromThrowable(throwable), Some(throwable), Some(duration), Some(formatter), Some(SeeStackDepthException), theSuite.rerunner, payload))
21082114
}
21092115

21102116
// SKIP-SCALATESTJS-START

scalatest/src/main/scala/org/scalatest/events/Event.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,8 @@ final case class TestFailed (
557557
suiteClassName: Option[String],
558558
testName: String,
559559
testText: String,
560-
recordedEvents: collection.immutable.IndexedSeq[RecordableEvent],
560+
recordedEvents: collection.immutable.IndexedSeq[RecordableEvent],
561+
analysis: collection.immutable.IndexedSeq[String],
561562
throwable: Option[Throwable] = None,
562563
duration: Option[Long] = None,
563564
formatter: Option[Formatter] = None,
@@ -597,6 +598,7 @@ final case class TestFailed (
597598
<testName>{ testName }</testName>
598599
<testText>{ testText }</testText>
599600
<recordedEvents>{ recordedEvents.map(_.toXml) }</recordedEvents>
601+
<analysis>analysis.map(a => <message>a</message>)</analysis>
600602
<throwable>{ throwableOption(throwable) }</throwable>
601603
<formatter>{ formatterOption(formatter) }</formatter>
602604
<location>{ locationOption(location) }</location>

scalatest/src/main/scala/org/scalatest/junit/JUnit3Suite.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ private[scalatest] class MyTestListener(report: Reporter, tracker: Tracker, stat
325325
case _ =>
326326
None
327327
}
328-
report(TestFailed(tracker.nextOrdinal(), getMessageGivenThrowable(throwable, false), suiteName, testCase.getClass.getName, Some(testCase.getClass.getName), testCase.toString, testCase.toString, Vector.empty, Some(throwable), None, Some(formatter), Some(SeeStackDepthException), None, payload))
328+
report(TestFailed(tracker.nextOrdinal(), getMessageGivenThrowable(throwable, false), suiteName, testCase.getClass.getName, Some(testCase.getClass.getName), testCase.toString, testCase.toString, Vector.empty, Vector.empty, Some(throwable), None, Some(formatter), Some(SeeStackDepthException), None, payload))
329329

330330
failedTestsSet += testCase
331331
}
@@ -336,7 +336,7 @@ private[scalatest] class MyTestListener(report: Reporter, tracker: Tracker, stat
336336

337337
val formatter = getIndentedTextForTest(testCase.toString, 1, true)
338338
val suiteName = getSuiteNameForTestCase(testCase)
339-
report(TestFailed(tracker.nextOrdinal(), getMessageGivenThrowable(assertionFailedError, true), suiteName, testCase.getClass.getName, Some(testCase.getClass.getName), testCase.toString, testCase.toString, Vector.empty, Some(assertionFailedError), None, Some(formatter), Some(SeeStackDepthException), None))
339+
report(TestFailed(tracker.nextOrdinal(), getMessageGivenThrowable(assertionFailedError, true), suiteName, testCase.getClass.getName, Some(testCase.getClass.getName), testCase.toString, testCase.toString, Vector.empty, Vector.empty, Some(assertionFailedError), None, Some(formatter), Some(SeeStackDepthException), None))
340340

341341
failedTestsSet += testCase
342342
}

scalatest/src/main/scala/org/scalatest/junit/MyRunListener.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ import exceptions._
6363
case _ =>
6464
None
6565
}
66-
report(TestFailed(theTracker.nextOrdinal(), message, testClassName, testClass, Some(testClass), testName, testName, Vector.empty, throwable, None, Some(formatter), Some(SeeStackDepthException), None, payload))
66+
report(TestFailed(theTracker.nextOrdinal(), message, testClassName, testClass, Some(testClass), testName, testName, Vector.empty, Vector.empty, throwable, None, Some(formatter), Some(SeeStackDepthException), None, payload))
6767
// TODO: can I add a duration?
6868
}
6969

scalatest/src/main/scala/org/scalatest/junit/RunNotifierReporter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private[junit] class RunNotifierReporter(runNotifier: RunNotifier) extends Repor
6060
case TestStarting(ordinal, suiteName, suiteId, suiteClassName, testName, testText, formatter, location, rerunnable, payload, threadName, timeStamp) =>
6161
runNotifier.fireTestStarted(Description.createSuiteDescription(testDescriptionName(suiteName, suiteClassName, testName)))
6262

63-
case TestFailed(ordinal, message, suiteName, suiteId, suiteClassName, testName, testText, recordedEvents, throwable, duration, formatter, location, rerunnable, payload, threadName, timeStamp) =>
63+
case TestFailed(ordinal, message, suiteName, suiteId, suiteClassName, testName, testText, recordedEvents, analysis, throwable, duration, formatter, location, rerunnable, payload, threadName, timeStamp) =>
6464
val throwableOrNull =
6565
throwable match {
6666
case Some(t) => t

scalatest/src/main/scala/org/scalatest/testng/TestNGSuiteLike.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ trait TestNGSuiteLike extends Suite { thisSuite =>
367367
case _ =>
368368
None
369369
}
370-
report(TestFailed(tracker.nextOrdinal(), message, thisSuite.suiteName, thisSuite.getClass.getName, Some(thisSuite.getClass.getName), testName, testName, Vector.empty, throwable, None, Some(formatter), Some(SeeStackDepthException), Some(className), payload)) // Can I add a duration?
370+
report(TestFailed(tracker.nextOrdinal(), message, thisSuite.suiteName, thisSuite.getClass.getName, Some(thisSuite.getClass.getName), testName, testName, Vector.empty, Vector.empty, throwable, None, Some(formatter), Some(SeeStackDepthException), Some(className), payload)) // Can I add a duration?
371371
status.setFailed()
372372
}
373373

scalatest/src/main/scala/org/scalatest/tools/DashboardReporter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ private[scalatest] class DashboardReporter(directory: String,
802802
event match {
803803
case TestSucceeded(_, _, _, _, _, _, _, duration, _, _, _, _, _, _)
804804
=> duration
805-
case TestFailed(_, _, _, _, _, _, _, _, _, duration, _, _, _, _, _, _)
805+
case TestFailed(_, _, _, _, _, _, _, _, _, _, duration, _, _, _, _, _, _)
806806
=> duration
807807
case TestPending(_, _, _, _, _, _, _, duration, _, _, _, _, _)
808808
=> duration

scalatest/src/main/scala/org/scalatest/tools/HtmlReporter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ private[scalatest] class HtmlReporter(
313313

314314
nodeSeq :: recordedEvents.map(processInfoMarkupProvided(_, "test_passed")).toList
315315

316-
case TestFailed(ordinal, message, suiteName, suiteId, suiteClassName, testName, testText, recordedEvents, throwable, duration, formatter, location, rerunnable, payload, threadName, timeStamp) =>
316+
case TestFailed(ordinal, message, suiteName, suiteId, suiteClassName, testName, testText, recordedEvents, analysis, throwable, duration, formatter, location, rerunnable, payload, threadName, timeStamp) =>
317317

318318
val stringToPrint = stringsToPrintOnError(Resources.failedNote, Resources.testFailed _, message, throwable, formatter, Some(suiteName), Some(testName), duration)
319319
val elementId = generateElementId

0 commit comments

Comments
 (0)