Skip to content

Commit 8340efb

Browse files
committed
Only fail JSEnv test if log is bad
1 parent 4f976a1 commit 8340efb

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

js-envs/src/test/scala/org/scalajs/jsenv/test/JSEnvTest.scala

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import org.scalajs.jsenv._
44

55
import org.scalajs.core.tools.io.MemVirtualJSFile
66
import org.scalajs.core.tools.classpath.PartialClasspath
7-
import org.scalajs.core.tools.logging.NullLogger
7+
import org.scalajs.core.tools.logging._
88

99
import org.junit.Assert._
1010

11+
import StoreLogger._
12+
1113
abstract class JSEnvTest {
1214

1315
protected def newJSEnv: JSEnv
@@ -25,9 +27,14 @@ abstract class JSEnvTest {
2527
newJSEnv.jsRunner(emptyCP, code, logger, console).run()
2628

2729
val log = logger.getLog
30+
val hasBadLog = log exists {
31+
case Log(level, _) if level >= Level.Warn => true
32+
case Trace(_) => true
33+
case _ => false
34+
}
2835

29-
assertTrue("VM shouldn't produce log. Log:\n" +
30-
log.mkString("\n"), log.isEmpty)
36+
assertFalse("VM shouldn't log errors, warnings or traces. Log:\n" +
37+
log.mkString("\n"), hasBadLog)
3138
assertEquals("Output should match", expectedOut, console.getLog)
3239
}
3340

js-envs/src/test/scala/org/scalajs/jsenv/test/StoreLogger.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ class StoreLogger extends Logger {
2121

2222
object StoreLogger {
2323

24-
abstract class LogElem
25-
case class Log(level: Level, message: String) extends LogElem
26-
case class Success(message: String) extends LogElem
27-
case class Trace(t: Throwable) extends LogElem
24+
sealed trait LogElem
25+
final case class Log(level: Level, message: String) extends LogElem
26+
final case class Success(message: String) extends LogElem
27+
final case class Trace(t: Throwable) extends LogElem
2828

2929
}

0 commit comments

Comments
 (0)