diff options
author | liu fengyun <liu@fengy.me> | 2017-04-13 15:03:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-13 15:03:13 +0200 |
commit | fb4adc3c9c55476d2fe0deed22cff54e8e945406 (patch) | |
tree | b7577f66688ed793a73ff543042a140e62cbe80d /compiler/test/dotty/tools/vulpix/SummaryReport.scala | |
parent | cf37737f56db7bc2f7429f78328dc5eea1716356 (diff) | |
parent | de6461ab17562dbb46a1ff094590e051d03cb54c (diff) | |
download | dotty-fb4adc3c9c55476d2fe0deed22cff54e8e945406.tar.gz dotty-fb4adc3c9c55476d2fe0deed22cff54e8e945406.tar.bz2 dotty-fb4adc3c9c55476d2fe0deed22cff54e8e945406.zip |
Merge branch 'master' into fix-2253
Diffstat (limited to 'compiler/test/dotty/tools/vulpix/SummaryReport.scala')
-rw-r--r-- | compiler/test/dotty/tools/vulpix/SummaryReport.scala | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/compiler/test/dotty/tools/vulpix/SummaryReport.scala b/compiler/test/dotty/tools/vulpix/SummaryReport.scala index 8f3047f49..678d88809 100644 --- a/compiler/test/dotty/tools/vulpix/SummaryReport.scala +++ b/compiler/test/dotty/tools/vulpix/SummaryReport.scala @@ -34,6 +34,12 @@ trait SummaryReporting { /** Echo the summary report to the appropriate locations */ def echoSummary(): Unit + + /** Echoes *immediately* to file */ + def echoToLog(msg: String): Unit + + /** Echoes contents of `it` to file *immediately* then flushes */ + def echoToLog(it: Iterator[String]): Unit } /** A summary report that doesn't do anything */ @@ -45,6 +51,8 @@ final class NoSummaryReport extends SummaryReporting { def addStartingMessage(msg: String): Unit = () def addCleanup(f: () => Unit): Unit = () def echoSummary(): Unit = () + def echoToLog(msg: String): Unit = () + def echoToLog(it: Iterator[String]): Unit = () } /** A summary report that logs to both stdout and the `TestReporter.logWriter` @@ -95,17 +103,18 @@ final class SummaryReport extends SummaryReporting { startingMessages.foreach(rep.append) - failedTests.map(x => " " + x).foreach(rep.append) + failedTests.map(x => s" $x\n").foreach(rep.append) // If we're compiling locally, we don't need instructions on how to // reproduce failures if (isInteractive) { println(rep.toString) if (failed > 0) println { - """| - |---------------------------------------------------------- - |Note: reproduction instructed have been dumped to log file - |----------------------------------------------------------""".stripMargin + s"""| + |-------------------------------------------------------------------------------- + |Note - reproduction instructions have been dumped to log file: + | ${TestReporter.logPath} + |--------------------------------------------------------------------------------""".stripMargin } } @@ -116,11 +125,19 @@ final class SummaryReport extends SummaryReporting { // If we're on the CI, we want everything if (!isInteractive) println(rep.toString) - TestReporter.writeToLog(rep.toString) + TestReporter.logPrintln(rep.toString) // Perform cleanup callback: if (cleanUps.nonEmpty) cleanUps.foreach(_.apply()) } + + def echoToLog(msg: String): Unit = + TestReporter.logPrintln(msg) + + def echoToLog(it: Iterator[String]): Unit = { + it.foreach(TestReporter.logPrint) + TestReporter.logFlush() + } } object SummaryReport { |