From 14fc87658359e39426b71698195d4713f9f08228 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 7 Sep 2021 12:15:05 +0000 Subject: [PATCH 1/6] Don't automatically disable webworker test --- .../WebWorkerMacrotaskSuite.scala | 35 +++++++++---------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala index bfc7a49..721c267 100644 --- a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala +++ b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala @@ -28,32 +28,29 @@ class WebWorkerMacrotaskSuite extends FunSuite { import MacrotaskExecutor.Implicits._ def scalaVersion = if (BuildInfo.scalaVersion.startsWith("2")) - BuildInfo.scalaVersion.split("\\.").init.mkString(".") + BuildInfo.scalaVersion.split('.').init.mkString(".") else BuildInfo.scalaVersion def targetDir = s"${BuildInfo.baseDirectory}/target/scala-${scalaVersion}" - Try(js.isUndefined(js.Dynamic.global.window.Worker)).toOption - .filterNot(identity) - .foreach { _ => - test("pass the MacrotaskSuite in a web worker") { - val p = Promise[Boolean]() + test("pass the MacrotaskSuite in a web worker") { + val p = Promise[Boolean]() - val worker = new Worker( - s"file://${targetDir}/scala-js-macrotask-executor-webworker-fastopt/main.js" - ) - - worker.onmessage = { event => - event.data match { - case log: String => println(log) - case success: Boolean => p.success(success) - case _ => () - } - } - - p.future.map(assert(_)) + val worker = new Worker( + s"file://${targetDir}/scala-js-macrotask-executor-webworker-fastopt/main.js" + ) + worker.onmessage = { event => + event.data match { + case log: String => println(log) + case success: Boolean => p.success(success) + case _ => () } } + + p.future.map(assert(_)) + + } + } From 47bbba1ab427fa76cfe6efa40513829de6c4082f Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 7 Sep 2021 12:23:46 +0000 Subject: [PATCH 2/6] Fix compile --- .../org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala | 2 -- 1 file changed, 2 deletions(-) diff --git a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala index 721c267..b97a241 100644 --- a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala +++ b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala @@ -20,8 +20,6 @@ import munit.FunSuite import org.scalajs.dom.webworkers.Worker import scala.concurrent.Promise -import scala.scalajs.js -import scala.util.Try class WebWorkerMacrotaskSuite extends FunSuite { From 09d1ad7308d961079913cb897bc35bd4b2c6826e Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 7 Sep 2021 17:18:52 +0000 Subject: [PATCH 3/6] Use JSEnv to enable/disable web worker suite --- build.sbt | 2 +- .../org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 64e9afc..b419b45 100644 --- a/build.sbt +++ b/build.sbt @@ -161,6 +161,6 @@ lazy val webworker = project "org.scalameta" %%% "munit" % MUnitVersion % Test, ), (Test / test) := (Test / test).dependsOn(Compile / fastOptJS).value, - buildInfoKeys := Seq[BuildInfoKey](scalaVersion, baseDirectory), + buildInfoKeys := Seq(scalaVersion, baseDirectory, BuildInfoKey("jsEnv" -> useJSEnv.value.toString)), buildInfoPackage := "org.scalajs.macrotaskexecutor") .enablePlugins(ScalaJSPlugin, BuildInfoPlugin, NoPublishPlugin) diff --git a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala index b97a241..ed4deae 100644 --- a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala +++ b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala @@ -32,6 +32,8 @@ class WebWorkerMacrotaskSuite extends FunSuite { def targetDir = s"${BuildInfo.baseDirectory}/target/scala-${scalaVersion}" + override def munitIgnore = !Set("Firefox", "Chrome").contains(BuildInfo.jsEnv) + test("pass the MacrotaskSuite in a web worker") { val p = Promise[Boolean]() From 08fb3c7daf758b285ef79cfd82cc500911b8b582 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 7 Sep 2021 17:27:52 +0000 Subject: [PATCH 4/6] Centralize browser indicator, simplify --- build.sbt | 10 +++++----- project/JSEnv.scala | 10 +++++----- .../macrotaskexecutor/WebWorkerMacrotaskSuite.scala | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/build.sbt b/build.sbt index b419b45..968cbc8 100644 --- a/build.sbt +++ b/build.sbt @@ -66,10 +66,10 @@ ThisBuild / githubWorkflowBuild := Seq(WorkflowStep.Sbt(List("${{ matrix.ci }}") replaceCommandAlias("ci", ciVariants.mkString("; ", "; ", "")) -addCommandAlias("ciNode", "; set useJSEnv := JSEnv.NodeJS; core/test; core/doc") -addCommandAlias("ciFirefox", "; set useJSEnv := JSEnv.Firefox; all core/test webworker/test; set useJSEnv := JSEnv.NodeJS") -addCommandAlias("ciChrome", "; set useJSEnv := JSEnv.Chrome; all core/test webworker/test; set useJSEnv := JSEnv.NodeJS") -addCommandAlias("ciJSDOMNodeJS", "; set useJSEnv := JSEnv.JSDOMNodeJS; core/test; set useJSEnv := JSEnv.NodeJS") +addCommandAlias("ciNode", "; set useJSEnv := JSEnv.NodeJS; test; core/doc") +addCommandAlias("ciFirefox", "; set useJSEnv := JSEnv.Firefox; test; set useJSEnv := JSEnv.NodeJS") +addCommandAlias("ciChrome", "; set useJSEnv := JSEnv.Chrome; test; set useJSEnv := JSEnv.NodeJS") +addCommandAlias("ciJSDOMNodeJS", "; set useJSEnv := JSEnv.JSDOMNodeJS; test; set useJSEnv := JSEnv.NodeJS") // release configuration @@ -161,6 +161,6 @@ lazy val webworker = project "org.scalameta" %%% "munit" % MUnitVersion % Test, ), (Test / test) := (Test / test).dependsOn(Compile / fastOptJS).value, - buildInfoKeys := Seq(scalaVersion, baseDirectory, BuildInfoKey("jsEnv" -> useJSEnv.value.toString)), + buildInfoKeys := Seq(scalaVersion, baseDirectory, BuildInfoKey("isBrowser" -> useJSEnv.value.isBrowser)), buildInfoPackage := "org.scalajs.macrotaskexecutor") .enablePlugins(ScalaJSPlugin, BuildInfoPlugin, NoPublishPlugin) diff --git a/project/JSEnv.scala b/project/JSEnv.scala index 4cd815f..ad249de 100644 --- a/project/JSEnv.scala +++ b/project/JSEnv.scala @@ -1,7 +1,7 @@ -sealed abstract class JSEnv +sealed abstract class JSEnv(val isBrowser: Boolean) object JSEnv { - case object Chrome extends JSEnv - case object Firefox extends JSEnv - case object JSDOMNodeJS extends JSEnv - case object NodeJS extends JSEnv + case object Chrome extends JSEnv(true) + case object Firefox extends JSEnv(true) + case object JSDOMNodeJS extends JSEnv(false) + case object NodeJS extends JSEnv(false) } diff --git a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala index ed4deae..9d28562 100644 --- a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala +++ b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala @@ -32,7 +32,7 @@ class WebWorkerMacrotaskSuite extends FunSuite { def targetDir = s"${BuildInfo.baseDirectory}/target/scala-${scalaVersion}" - override def munitIgnore = !Set("Firefox", "Chrome").contains(BuildInfo.jsEnv) + override def munitIgnore = !BuildInfo.isBrowser test("pass the MacrotaskSuite in a web worker") { val p = Promise[Boolean]() From d473acd581d23b4f7d2e048370d56cdc3326a8bc Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 7 Sep 2021 17:40:22 +0000 Subject: [PATCH 5/6] Getting some debug in CI --- .../scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala index 9d28562..22cf6c3 100644 --- a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala +++ b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala @@ -32,7 +32,10 @@ class WebWorkerMacrotaskSuite extends FunSuite { def targetDir = s"${BuildInfo.baseDirectory}/target/scala-${scalaVersion}" - override def munitIgnore = !BuildInfo.isBrowser + override def munitIgnore = { + println(BuildInfo) + !BuildInfo.isBrowser + } test("pass the MacrotaskSuite in a web worker") { val p = Promise[Boolean]() From 93b9b6fdd113c7de0f92333d187e381de64a266d Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Tue, 7 Sep 2021 17:46:26 +0000 Subject: [PATCH 6/6] Fix ci --- build.sbt | 8 ++++---- .../macrotaskexecutor/WebWorkerMacrotaskSuite.scala | 5 +---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/build.sbt b/build.sbt index 968cbc8..7fb5741 100644 --- a/build.sbt +++ b/build.sbt @@ -66,10 +66,10 @@ ThisBuild / githubWorkflowBuild := Seq(WorkflowStep.Sbt(List("${{ matrix.ci }}") replaceCommandAlias("ci", ciVariants.mkString("; ", "; ", "")) -addCommandAlias("ciNode", "; set useJSEnv := JSEnv.NodeJS; test; core/doc") -addCommandAlias("ciFirefox", "; set useJSEnv := JSEnv.Firefox; test; set useJSEnv := JSEnv.NodeJS") -addCommandAlias("ciChrome", "; set useJSEnv := JSEnv.Chrome; test; set useJSEnv := JSEnv.NodeJS") -addCommandAlias("ciJSDOMNodeJS", "; set useJSEnv := JSEnv.JSDOMNodeJS; test; set useJSEnv := JSEnv.NodeJS") +addCommandAlias("ciNode", "; set Global / useJSEnv := JSEnv.NodeJS; test; core/doc") +addCommandAlias("ciFirefox", "; set Global / useJSEnv := JSEnv.Firefox; test; set Global / useJSEnv := JSEnv.NodeJS") +addCommandAlias("ciChrome", "; set Global / useJSEnv := JSEnv.Chrome; test; set Global / useJSEnv := JSEnv.NodeJS") +addCommandAlias("ciJSDOMNodeJS", "; set Global / useJSEnv := JSEnv.JSDOMNodeJS; test; set Global / useJSEnv := JSEnv.NodeJS") // release configuration diff --git a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala index 22cf6c3..9d28562 100644 --- a/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala +++ b/webworker/src/test/scala/org/scalajs/macrotaskexecutor/WebWorkerMacrotaskSuite.scala @@ -32,10 +32,7 @@ class WebWorkerMacrotaskSuite extends FunSuite { def targetDir = s"${BuildInfo.baseDirectory}/target/scala-${scalaVersion}" - override def munitIgnore = { - println(BuildInfo) - !BuildInfo.isBrowser - } + override def munitIgnore = !BuildInfo.isBrowser test("pass the MacrotaskSuite in a web worker") { val p = Promise[Boolean]()