Skip to content

Commit e2cc1c7

Browse files
Better Scala.JS logging in tests
This makes it not print messages like "Starting process …" by default. These are now only printed when verbosity is increased.
1 parent 37429eb commit e2cc1c7

File tree

6 files changed

+25
-2
lines changed

6 files changed

+25
-2
lines changed

modules/build/src/main/scala/scala/build/Logger.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package scala.build
22

3+
import org.scalajs.logging.{Logger => ScalaJsLogger, NullLogger}
4+
35
import java.io.{OutputStream, PrintStream}
46

57
import scala.build.blooprifle.BloopRifleLogger
@@ -26,6 +28,7 @@ trait Logger {
2628

2729
def coursierLogger: coursier.cache.CacheLogger
2830
def bloopRifleLogger: BloopRifleLogger
31+
def scalaJsLogger: ScalaJsLogger
2932
def scalaNativeTestLogger: sn.Logger
3033
def scalaNativeCliInternalLoggerOptions: List[String]
3134

@@ -48,6 +51,8 @@ object Logger {
4851
coursier.cache.CacheLogger.nop
4952
def bloopRifleLogger: BloopRifleLogger =
5053
BloopRifleLogger.nop
54+
def scalaJsLogger: ScalaJsLogger =
55+
NullLogger
5156
def scalaNativeTestLogger: sn.Logger =
5257
sn.Logger.nullLogger
5358
def scalaNativeCliInternalLoggerOptions: List[String] =

modules/build/src/main/scala/scala/build/PersistentDiagnosticLogger.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package scala.build
22

3+
import org.scalajs.logging.{Logger => ScalaJsLogger}
4+
35
import java.io.PrintStream
46

57
import scala.build.blooprifle.BloopRifleLogger
@@ -27,6 +29,7 @@ class PersistentDiagnosticLogger(parent: Logger) extends Logger {
2729

2830
def coursierLogger: coursier.cache.CacheLogger = parent.coursierLogger
2931
def bloopRifleLogger: BloopRifleLogger = parent.bloopRifleLogger
32+
def scalaJsLogger: ScalaJsLogger = parent.scalaJsLogger
3033
def scalaNativeTestLogger: sn.Logger = parent.scalaNativeTestLogger
3134
def scalaNativeCliInternalLoggerOptions: List[String] = parent.scalaNativeCliInternalLoggerOptions
3235

modules/build/src/main/scala/scala/build/internal/Runner.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,6 @@ object Runner {
241241
): Either[TestError, Int] = either {
242242
import org.scalajs.jsenv.Input
243243
import org.scalajs.jsenv.nodejs.NodeJSEnv
244-
import org.scalajs.logging.ScalaConsoleLogger
245244
import org.scalajs.testing.adapter.TestAdapter
246245
val nodePath = findInPath("node").fold("node")(_.toString)
247246
val jsEnv = new NodeJSEnv(
@@ -251,7 +250,7 @@ object Runner {
251250
.withEnv(Map.empty)
252251
.withSourceMap(NodeJSEnv.SourceMap.Disable)
253252
)
254-
val adapterConfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger)
253+
val adapterConfig = TestAdapter.Config().withLogger(logger.scalaJsLogger)
255254
val inputs = Seq(Input.Script(entrypoint.toPath))
256255
var adapter: TestAdapter = null
257256

modules/build/src/test/scala/scala/build/tests/BuildProjectTests.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package scala.build.tests
22

33
import com.eed3si9n.expecty.Expecty.expect
44
import coursier.cache.CacheLogger
5+
import org.scalajs.logging.{Logger => ScalaJsLogger, NullLogger}
56

67
import java.io.PrintStream
78

@@ -44,6 +45,7 @@ class BuildProjectTests extends munit.FunSuite {
4445
override def coursierLogger: CacheLogger = CacheLogger.nop
4546

4647
override def bloopRifleLogger: BloopRifleLogger = BloopRifleLogger.nop
48+
override def scalaJsLogger: ScalaJsLogger = NullLogger
4749

4850
override def scalaNativeTestLogger: scala.scalanative.build.Logger =
4951
scala.scalanative.build.Logger.nullLogger

modules/build/src/test/scala/scala/build/tests/TestLogger.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package scala.build.tests
22

33
import coursier.cache.CacheLogger
44
import coursier.cache.loggers.{FallbackRefreshDisplay, RefreshLogger}
5+
import org.scalajs.logging.{Logger => ScalaJsLogger, NullLogger}
56

67
import scala.build.blooprifle.BloopRifleLogger
78
import scala.build.errors.BuildException
@@ -42,6 +43,8 @@ case class TestLogger(info: Boolean = true, debug: Boolean = false) extends Logg
4243

4344
def bloopRifleLogger: BloopRifleLogger =
4445
BloopRifleLogger.nop
46+
def scalaJsLogger: ScalaJsLogger =
47+
NullLogger
4548
def scalaNativeTestLogger: sn.Logger =
4649
sn.Logger.nullLogger
4750
def scalaNativeCliInternalLoggerOptions: List[String] =

modules/cli/src/main/scala/scala/cli/internal/CliLogger.scala

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package scala.cli.internal
33
import ch.epfl.scala.{bsp4j => b}
44
import coursier.cache.CacheLogger
55
import coursier.cache.loggers.{FallbackRefreshDisplay, ProgressBarRefreshDisplay, RefreshLogger}
6+
import org.scalajs.logging.{Level => ScalaJsLevel, Logger => ScalaJsLogger, ScalaConsoleLogger}
67

78
import java.io.PrintStream
89

@@ -150,6 +151,16 @@ class CliLogger(
150151
def bloopCliInheritStderr = verbosity >= 3
151152
}
152153

154+
def scalaJsLogger: ScalaJsLogger =
155+
// FIXME Doesn't use 'out'
156+
new ScalaConsoleLogger(
157+
minLevel =
158+
if (verbosity >= 2) ScalaJsLevel.Debug
159+
else if (verbosity >= 1) ScalaJsLevel.Info
160+
else if (verbosity >= 0) ScalaJsLevel.Warn
161+
else ScalaJsLevel.Error
162+
)
163+
153164
def scalaNativeTestLogger: sn.Logger =
154165
new sn.Logger {
155166
def trace(msg: Throwable) = ()

0 commit comments

Comments
 (0)