Skip to content

Commit 046f01f

Browse files
committed
Make sure that tests that compile and link keep doing so.
1 parent bd03e71 commit 046f01f

File tree

1 file changed

+22
-13
lines changed

1 file changed

+22
-13
lines changed

project/Build.scala

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,6 +1024,7 @@ object Build {
10241024
(dir ** filter).get
10251025
},
10261026

1027+
// A first blacklist of tests for those that do not compile or do not link
10271028
managedSources in Test ++= {
10281029
val dir = fetchScalaJSSource.value / "test-suite"
10291030
(
@@ -1037,27 +1038,16 @@ object Build {
10371038
++ (dir / "shared/src/test/require-jdk7" ** "*.scala").get
10381039

10391040
++ (dir / "js/src/test/scala/org/scalajs/testsuite/compiler" ** (("*.scala": FileFilter)
1040-
-- "InteroperabilityTest.scala" // 3 tests require JS exports, all other tests pass
10411041
-- "RuntimeTypesTest.scala" // compile errors: no ClassTag for Null and Nothing
10421042
)).get
10431043

10441044
++ (dir / "js/src/test/scala/org/scalajs/testsuite/javalib" ** "*.scala").get
10451045

10461046
++ (dir / "js/src/test/scala/org/scalajs/testsuite/jsinterop" ** (("*.scala": FileFilter)
1047-
-- "AsyncTest.scala" // needs JS exports in PromiseMock.scala
1048-
-- "DynamicTest.scala" // one test requires JS exports, all other tests pass
1049-
-- "ExportsTest.scala" // JS exports
1050-
-- "JSExportStaticTest.scala" // JS exports
1051-
-- "NonNativeJSTypeTest.scala" // 1 test fails because of a progression for value class fields (needs an update upstream)
1047+
-- "ExportsTest.scala" // JS exports + do not compile because of a var in a structural type
10521048
)).get
10531049

1054-
++ (dir / "js/src/test/scala/org/scalajs/testsuite/junit" ** (("*.scala": FileFilter)
1055-
// Tests fail
1056-
-- "JUnitAbstractClassTest.scala"
1057-
-- "JUnitNamesTest.scala"
1058-
-- "JUnitSubClassTest.scala"
1059-
-- "MultiCompilationSecondUnitTest.scala"
1060-
)).get
1050+
++ (dir / "js/src/test/scala/org/scalajs/testsuite/junit" ** "*.scala").get
10611051

10621052
++ (dir / "js/src/test/scala/org/scalajs/testsuite/library" ** (("*.scala": FileFilter)
10631053
-- "ObjectTest.scala" // compile errors caused by #9588
@@ -1074,6 +1064,25 @@ object Build {
10741064
++ (dir / "js/src/test/require-sam" ** "*.scala").get
10751065
++ (dir / "js/src/test/scala-new-collections" ** "*.scala").get
10761066
)
1067+
},
1068+
1069+
// A second blacklist for tests that compile and link, but do not pass at run-time.
1070+
// Putting them here instead of above makes sure that we do not regress on compilation+linking.
1071+
Test / testOptions += Tests.Filter { name =>
1072+
!Set[String](
1073+
"org.scalajs.testsuite.compiler.InteroperabilityTest", // 3 tests require JS exports, all other tests pass
1074+
1075+
"org.scalajs.testsuite.jsinterop.AsyncTest", // needs JS exports in PromiseMock.scala
1076+
"org.scalajs.testsuite.jsinterop.DynamicTest", // one test requires JS exports, all other tests pass
1077+
"org.scalajs.testsuite.jsinterop.JSExportStaticTest", // JS exports
1078+
"org.scalajs.testsuite.jsinterop.NonNativeJSTypeTest", // 1 test fails because of a progression for value class fields (needs an update upstream)
1079+
1080+
// Not investigated so far
1081+
"org.scalajs.testsuite.junit.JUnitAbstractClassTestCheck",
1082+
"org.scalajs.testsuite.junit.JUnitNamesTestCheck",
1083+
"org.scalajs.testsuite.junit.JUnitSubClassTestCheck",
1084+
"org.scalajs.testsuite.junit.MultiCompilationSecondUnitTestCheck",
1085+
).contains(name)
10771086
}
10781087
)
10791088

0 commit comments

Comments
 (0)