Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Macrotask Executor #2278

Merged
merged 16 commits into from
Sep 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
b43238c
First step in using scala-js macrotask executor in async style trait,…
cheeseng Sep 16, 2023
ffbe193
Changeed funspec-test to use scala-js macrotask executor.
cheeseng Sep 17, 2023
8f38f33
Changed remaining async test in funsuite-test to use scala-js macrota…
cheeseng Sep 17, 2023
8bc0bc8
Changeed freespec-test to use scala-js macrotask executor.
cheeseng Sep 17, 2023
62e79fd
Changeed flatspec-test to use scala-js macrotask executor.
cheeseng Sep 17, 2023
d802d45
Changeed featurespec-test to use scala-js macrotask executor.
cheeseng Sep 17, 2023
4b73318
Changeed wordspec-test to use scala-js macrotask executor.
cheeseng Sep 17, 2023
50911d4
Changed remaining tests in featurespec-test that are still using scal…
cheeseng Sep 18, 2023
e64e29b
Changed remaining tests in flatspec-test that are still using scala.s…
cheeseng Sep 18, 2023
c220a02
Changed remaining tests in freespec-test that are still using scala.s…
cheeseng Sep 18, 2023
61b8df3
Changed remaining tests in funspec-test that are still using scala.sc…
cheeseng Sep 18, 2023
d75ff5a
Made those custom execution context tests to work on scala-native also.
cheeseng Sep 18, 2023
f4a6b48
Changed remaining tests in funsuite-test that are still using scala.s…
cheeseng Sep 18, 2023
ea6a7aa
Changed remaining tests in scalatest-test that are still using scala.…
cheeseng Sep 18, 2023
5fe4518
Changed remaining tests in wordspec-test that are still using scala.s…
cheeseng Sep 18, 2023
9c57c85
Changed TaskRunner to use macrotask executor.
cheeseng Sep 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions js/core/src/main/scala/org/scalatest/tools/TaskRunner.scala
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ import scala.concurrent.Promise
import scala.concurrent.Future
import scala.concurrent.Await
import scala.util.Success
import scala.scalajs.concurrent.JSExecutionContext

import scala.compat.Platform
import scala.concurrent.duration.Duration
Expand Down Expand Up @@ -61,10 +60,9 @@ final class TaskRunner(task: TaskDef,
def taskDef(): TaskDef = task

def execute(eventHandler: EventHandler, loggers: Array[Logger], continuation: (Array[Task]) => Unit): Unit = {
implicit val execCtx = JSExecutionContext.queue
import org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits._
val future = executionFuture(eventHandler, loggers)
future.recover { case t =>
println("GOT TO THIS RECOVER CALL")
loggers.foreach(_.trace(t))
}.onComplete{ _ =>
continuation(Array.empty)
Expand Down
3 changes: 2 additions & 1 deletion jvm/core/src/main/scala/org/scalatest/AsyncTestSuite.scala
Original file line number Diff line number Diff line change
Expand Up @@ -213,12 +213,13 @@ import enablers.Futuristic
*/
trait AsyncTestSuite extends Suite with RecoverMethods with CompleteLastly { thisAsyncTestSuite =>

private final val serialExecutionContext: ExecutionContext = new concurrent.SerialExecutionContext

/**
* An implicit execution context used by async styles to transform <code>Future[Assertion]</code> values
* returned by tests into <code>FutureOutcome</code> values, and can be used within the async tests themselves,
* for example, when mapping assertions onto futures.
*/
private final val serialExecutionContext: ExecutionContext = new concurrent.SerialExecutionContext
implicit def executionContext: ExecutionContext = serialExecutionContext

private def anAsyncExceptionThatShouldCauseAnAbort(ex: Throwable): Boolean =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1048,11 +1048,27 @@ class AsyncFeatureSpecLikeSpec extends funspec.AnyFunSpec {
}

it("should allow other execution context to be used") {

//SCALATESTJS,NATIVE-ONLY var changeMe = false

//SCALATESTJS,NATIVE-ONLY object CustomTestExecutionContext extends scala.concurrent.ExecutionContextExecutor {
//SCALATESTJS,NATIVE-ONLY override def execute(runnable: Runnable): Unit = {
//SCALATESTJS,NATIVE-ONLY changeMe = true
//SCALATESTJS,NATIVE-ONLY try {
//SCALATESTJS,NATIVE-ONLY runnable.run()
//SCALATESTJS,NATIVE-ONLY } catch {
//SCALATESTJS,NATIVE-ONLY case t: Throwable => reportFailure(t)
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY def reportFailure(t: Throwable): Unit =
//SCALATESTJS,NATIVE-ONLY t.printStackTrace()
//SCALATESTJS,NATIVE-ONLY }

class TestSpec extends AsyncFeatureSpecLike {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
override implicit val executionContext: ExecutionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS,NATIVE-ONLY override implicit val executionContext: ExecutionContext = CustomTestExecutionContext
val a = 1
Feature("feature 1") {
Scenario("scenario A") {
Expand Down Expand Up @@ -1081,6 +1097,7 @@ class AsyncFeatureSpecLikeSpec extends funspec.AnyFunSpec {
assert(reporter.scopeClosedEventsReceived.length == 3)
assert(reporter.testStartingEventsReceived.length == 3)
assert(reporter.testSucceededEventsReceived.length == 3)
//SCALATESTJS,NATIVE-ONLY assert(changeMe)
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import org.scalatest.Succeeded

class FixtureAsyncFeatureSpecLikeSpec2 extends funspec.AsyncFunSpec {

//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

describe("AsyncFeatureSpecLike") {

// ParallelTestExecution not working yet.
Expand Down Expand Up @@ -859,7 +861,7 @@ class FixtureAsyncFeatureSpecLikeSpec2 extends funspec.AsyncFunSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global
val a = 1
Feature("feature 1") {
Scenario("scenario A") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -877,11 +877,25 @@ class FixtureAsyncFeatureSpecSpec extends funspec.AnyFunSpec {
}

it("should allow other execution context to be used") {
//SCALATESTJS,NATIVE-ONLY var changeMe = false

//SCALATESTJS,NATIVE-ONLY object CustomTestExecutionContext extends scala.concurrent.ExecutionContextExecutor {
//SCALATESTJS,NATIVE-ONLY override def execute(runnable: Runnable): Unit = {
//SCALATESTJS,NATIVE-ONLY changeMe = true
//SCALATESTJS,NATIVE-ONLY try {
//SCALATESTJS,NATIVE-ONLY runnable.run()
//SCALATESTJS,NATIVE-ONLY } catch {
//SCALATESTJS,NATIVE-ONLY case t: Throwable => reportFailure(t)
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY def reportFailure(t: Throwable): Unit =
//SCALATESTJS,NATIVE-ONLY t.printStackTrace()
//SCALATESTJS,NATIVE-ONLY }
class TestSpec extends AsyncFeatureSpecLike {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
override implicit val executionContext: ExecutionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS,NATIVE-ONLY override implicit val executionContext: ExecutionContext = CustomTestExecutionContext
val a = 1
Feature("feature 1") {
Scenario("scenario A") {
Expand Down Expand Up @@ -910,6 +924,7 @@ class FixtureAsyncFeatureSpecSpec extends funspec.AnyFunSpec {
assert(reporter.scopeClosedEventsReceived.length == 3)
assert(reporter.testStartingEventsReceived.length == 3)
assert(reporter.testSucceededEventsReceived.length == 3)
//SCALATESTJS,NATIVE-ONLY assert(changeMe)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ import org.scalatest.Succeeded

class FixtureAsyncFeatureSpecSpec2 extends funspec.AsyncFunSpec {

//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

describe("AsyncFeatureSpec") {

// ParallelTestExecution not working yet.
Expand Down Expand Up @@ -856,7 +858,7 @@ class FixtureAsyncFeatureSpecSpec2 extends funspec.AsyncFunSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global
val a = 1
Feature("feature 1") {
Scenario("scenario A") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -958,11 +958,25 @@ class DeprecatedAsyncFeatureSpecLikeSpec extends scalatest.funspec.AnyFunSpec {
}

it("should allow other execution context to be used") {
//SCALATESTJS,NATIVE-ONLY var changeMe = false

//SCALATESTJS,NATIVE-ONLY object CustomTestExecutionContext extends scala.concurrent.ExecutionContextExecutor {
//SCALATESTJS,NATIVE-ONLY override def execute(runnable: Runnable): Unit = {
//SCALATESTJS,NATIVE-ONLY changeMe = true
//SCALATESTJS,NATIVE-ONLY try {
//SCALATESTJS,NATIVE-ONLY runnable.run()
//SCALATESTJS,NATIVE-ONLY } catch {
//SCALATESTJS,NATIVE-ONLY case t: Throwable => reportFailure(t)
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY def reportFailure(t: Throwable): Unit =
//SCALATESTJS,NATIVE-ONLY t.printStackTrace()
//SCALATESTJS,NATIVE-ONLY }
class TestSpec extends featurespec.FixtureAsyncFeatureSpecLike {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
override implicit val executionContext: ExecutionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS,NATIVE-ONLY override implicit val executionContext: ExecutionContext = CustomTestExecutionContext

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down Expand Up @@ -996,6 +1010,7 @@ class DeprecatedAsyncFeatureSpecLikeSpec extends scalatest.funspec.AnyFunSpec {
assert(reporter.scopeClosedEventsReceived.length == 3)
assert(reporter.testStartingEventsReceived.length == 3)
assert(reporter.testSucceededEventsReceived.length == 3)
//SCALATESTJS,NATIVE-ONLY assert(changeMe)
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import org.scalatest

class DeprecatedAsyncFeatureSpecLikeSpec2 extends scalatest.funspec.AsyncFunSpec {

//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

describe("AsyncFeatureSpecLike") {

it("can be used for tests that return Future under parallel async test execution") {
Expand Down Expand Up @@ -945,7 +947,7 @@ class DeprecatedAsyncFeatureSpecLikeSpec2 extends scalatest.funspec.AsyncFunSpec
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -958,11 +958,25 @@ class DeprecatedAsyncFeatureSpecSpec extends scalatest.funspec.AnyFunSpec {
}

it("should allow other execution context to be used") {
//SCALATESTJS,NATIVE-ONLY var changeMe = false

//SCALATESTJS,NATIVE-ONLY object CustomTestExecutionContext extends scala.concurrent.ExecutionContextExecutor {
//SCALATESTJS,NATIVE-ONLY override def execute(runnable: Runnable): Unit = {
//SCALATESTJS,NATIVE-ONLY changeMe = true
//SCALATESTJS,NATIVE-ONLY try {
//SCALATESTJS,NATIVE-ONLY runnable.run()
//SCALATESTJS,NATIVE-ONLY } catch {
//SCALATESTJS,NATIVE-ONLY case t: Throwable => reportFailure(t)
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY def reportFailure(t: Throwable): Unit =
//SCALATESTJS,NATIVE-ONLY t.printStackTrace()
//SCALATESTJS,NATIVE-ONLY }
class TestSpec extends featurespec.FixtureAsyncFeatureSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
override implicit val executionContext: ExecutionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS,NATIVE-ONLY override implicit val executionContext: ExecutionContext = CustomTestExecutionContext

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down Expand Up @@ -996,6 +1010,7 @@ class DeprecatedAsyncFeatureSpecSpec extends scalatest.funspec.AnyFunSpec {
assert(reporter.scopeClosedEventsReceived.length == 3)
assert(reporter.testStartingEventsReceived.length == 3)
assert(reporter.testSucceededEventsReceived.length == 3)
//SCALATESTJS,NATIVE-ONLY assert(changeMe)
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,7 @@ class DeprecatedAsyncFeatureSpecSpec2 extends scalatest.funspec.AsyncFunSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
// SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -958,11 +958,25 @@ class FixtureAsyncFeatureSpecLikeSpec extends scalatest.funspec.AnyFunSpec {
}

it("should allow other execution context to be used") {
//SCALATESTJS,NATIVE-ONLY var changeMe = false

//SCALATESTJS,NATIVE-ONLY object CustomTestExecutionContext extends scala.concurrent.ExecutionContextExecutor {
//SCALATESTJS,NATIVE-ONLY override def execute(runnable: Runnable): Unit = {
//SCALATESTJS,NATIVE-ONLY changeMe = true
//SCALATESTJS,NATIVE-ONLY try {
//SCALATESTJS,NATIVE-ONLY runnable.run()
//SCALATESTJS,NATIVE-ONLY } catch {
//SCALATESTJS,NATIVE-ONLY case t: Throwable => reportFailure(t)
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY def reportFailure(t: Throwable): Unit =
//SCALATESTJS,NATIVE-ONLY t.printStackTrace()
//SCALATESTJS,NATIVE-ONLY }
class TestSpec extends featurespec.FixtureAsyncFeatureSpecLike {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
override implicit val executionContext: ExecutionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS,NATIVE-ONLY override implicit val executionContext: ExecutionContext = CustomTestExecutionContext

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down Expand Up @@ -996,6 +1010,7 @@ class FixtureAsyncFeatureSpecLikeSpec extends scalatest.funspec.AnyFunSpec {
assert(reporter.scopeClosedEventsReceived.length == 3)
assert(reporter.testStartingEventsReceived.length == 3)
assert(reporter.testSucceededEventsReceived.length == 3)
//SCALATESTJS,NATIVE-ONLY assert(changeMe)
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ import org.scalatest.featurespec

class AsyncFeatureSpecLikeSpec2 extends scalatest.funspec.AsyncFunSpec {

//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

describe("AsyncFeatureSpecLike") {

it("can be used for tests that return Future under parallel async test execution") {
Expand Down Expand Up @@ -946,7 +948,7 @@ class AsyncFeatureSpecLikeSpec2 extends scalatest.funspec.AsyncFunSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS-ONLY override implicit val executionContext: ExecutionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -958,11 +958,25 @@ class AsyncFeatureSpecSpec extends scalatest.funspec.AnyFunSpec {
}

it("should allow other execution context to be used") {
//SCALATESTJS,NATIVE-ONLY var changeMe = false

//SCALATESTJS,NATIVE-ONLY object CustomTestExecutionContext extends scala.concurrent.ExecutionContextExecutor {
//SCALATESTJS,NATIVE-ONLY override def execute(runnable: Runnable): Unit = {
//SCALATESTJS,NATIVE-ONLY changeMe = true
//SCALATESTJS,NATIVE-ONLY try {
//SCALATESTJS,NATIVE-ONLY runnable.run()
//SCALATESTJS,NATIVE-ONLY } catch {
//SCALATESTJS,NATIVE-ONLY case t: Throwable => reportFailure(t)
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY }
//SCALATESTJS,NATIVE-ONLY def reportFailure(t: Throwable): Unit =
//SCALATESTJS,NATIVE-ONLY t.printStackTrace()
//SCALATESTJS,NATIVE-ONLY }
class TestSpec extends featurespec.FixtureAsyncFeatureSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
override implicit val executionContext: ExecutionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS,NATIVE-ONLY override implicit val executionContext: ExecutionContext = CustomTestExecutionContext

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down Expand Up @@ -996,6 +1010,7 @@ class AsyncFeatureSpecSpec extends scalatest.funspec.AnyFunSpec {
assert(reporter.scopeClosedEventsReceived.length == 3)
assert(reporter.testStartingEventsReceived.length == 3)
assert(reporter.testSucceededEventsReceived.length == 3)
//SCALATESTJS,NATIVE-ONLY assert(changeMe)
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ import org.scalatest.featurespec

class AsyncFeatureSpecSpec2 extends scalatest.funspec.AsyncFunSpec {

//SCALATESTJS-ONLY override implicit val executionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

describe("AsyncFeatureSpec") {

it("can be used for tests that return Future under parallel async test execution") {
Expand Down Expand Up @@ -952,7 +954,7 @@ class AsyncFeatureSpecSpec2 extends scalatest.funspec.AsyncFunSpec {
// SKIP-SCALATESTJS,NATIVE-START
override implicit val executionContext = scala.concurrent.ExecutionContext.Implicits.global
// SKIP-SCALATESTJS,NATIVE-END
// SCALATESTJS-ONLY override implicit val executionContext = scala.scalajs.concurrent.JSExecutionContext.runNow
//SCALATESTJS-ONLY override implicit val executionContext = org.scalajs.macrotaskexecutor.MacrotaskExecutor.Implicits.global

type FixtureParam = String
def withFixture(test: OneArgAsyncTest): FutureOutcome =
Expand Down
Loading
Loading