Skip to content

Commit 7b0f013

Browse files
committed
DPDirectCompiler: Set output using System.setOut/setErr
1 parent ad1090a commit 7b0f013

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

test/dotty/partest/DPDirectCompiler.scala

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@ package dotty.partest
22

33
import dotty.tools.dotc.reporting.ConsoleReporter
44
import scala.tools.partest.{ TestState, nest }
5-
import java.io.{ File, PrintWriter, FileWriter }
5+
import java.io._
66

77

88
/* NOTE: Adapted from partest.DirectCompiler and DottyTest */
99
class DPDirectCompiler(runner: DPTestRunner) extends nest.DirectCompiler(runner) {
1010

1111
override def compile(opts0: List[String], sources: List[File]): TestState = {
12-
val clogFWriter = new FileWriter(runner.cLogFile.jfile, true)
13-
val clogWriter = new PrintWriter(clogFWriter, true)
14-
clogWriter.println("\ncompiling " + sources.mkString(" ") + "\noptions: " + opts0.mkString(" "))
12+
val clogStream = new PrintStream(new FileOutputStream(runner.cLogFile.jfile), true)
13+
clogStream.println("\ncompiling " + sources.mkString(" ") + "\noptions: " + opts0.mkString(" "))
1514

1615
implicit val ctx: dotty.tools.dotc.core.Contexts.Context = {
1716
val base = new dotty.tools.dotc.core.Contexts.ContextBase
@@ -22,12 +21,16 @@ class DPDirectCompiler(runner: DPTestRunner) extends nest.DirectCompiler(runner)
2221
ctx
2322
}
2423

24+
val savedOut = System.out
25+
val savedErr = System.err
2526
try {
2627
val processor =
2728
if (opts0.exists(_.startsWith("#"))) dotty.tools.dotc.Bench else dotty.tools.dotc.Main
28-
val clogger = new ConsoleReporter(writer = clogWriter)(ctx)
29-
val logCtx = ctx.fresh.setTyperState(ctx.typerState.withReporter(clogger))
30-
val reporter = processor.process((sources.map(_.toString) ::: opts0).toArray, logCtx)
29+
30+
System.setOut(clogStream)
31+
System.setErr(clogStream)
32+
33+
val reporter = processor.process((sources.map(_.toString) ::: opts0).toArray)
3134
if (!reporter.hasErrors) runner.genPass()
3235
else {
3336
reporter.printSummary(ctx)
@@ -36,8 +39,9 @@ class DPDirectCompiler(runner: DPTestRunner) extends nest.DirectCompiler(runner)
3639
} catch {
3740
case t: Throwable => runner.genCrash(t)
3841
} finally {
39-
clogFWriter.close
40-
clogWriter.close
42+
System.setOut(savedOut)
43+
System.setErr(savedErr)
44+
clogStream.close
4145
}
4246
}
4347
}

0 commit comments

Comments
 (0)