You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We add support for skipping tests based on "toolArgs" flags,
written in the test sources as
// scalajs: --skip
The `ScalaJSCompilationTests` takes the `scalajs` toolArgs
into account, while the JVM `CompilationTests` do not. This
effectively means that tests marked as above are run only
on the JVM.
Good reasons for being skipped on Scala.js include:
* Using `.java` source files.
* Using Java reflection (sometimes to implement the testing
logic, more than what gets tested).
* Relying on `NullPointerException`s being thrown.
* Testing the precise result of `getClass()` of `classOf`,
which is not the same for `BoxedUnit` in Scala.js (these
cases are extensively tested in Scala.js' own test suite,
so they are well covered).
Some tests are skipped for less good reasons, for example:
* The `Course-*` tests are long, ancient tests that don't
test anything in particular, but rely a lot on the
precise printed form of Doubles.
Some tests rely on what Scala.js calls "compliant semantics".
They receive the flag `--compliant-semantics` to instruct the
Scala.js linker to enable them.
Many tests, due to the `println`-based nature of Vulpix,
rely on the precise printed form of `Double`s and `Unit`s.
When reasonably practical, these have been amended to pass
one way or another on Scala.js:
* using non-whole `Double`s, or
* explicitly trimming trailing `.0` from the string
representation of doubles, or
* explicitly converting `()` to `"()"`, or
* using other data types, or
* printing `Double`s instead of `Float`s, or
* avoiding to print irrelevant details.
Tests that are supposed to pass, but do not because of what
seems to be a bug, are marked
// scalajs: --skip --pending
so that we can grep for them later and try to fix them.
0 commit comments