@@ -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