From 3518226c0e3f8666b6bdfa00012271b6f58e70f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Doeraene?= Date: Thu, 23 Jun 2022 16:41:20 +0200 Subject: [PATCH] Execute tests/run/ tests with Scala.js. 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. --- compiler/test/dotty/tools/utils.scala | 6 +- .../dotty/tools/vulpix/ParallelTesting.scala | 24 ++++-- .../tools/vulpix/RunnerOrchestration.scala | 2 +- .../tools/vulpix/TestConfiguration.scala | 2 +- project/Build.scala | 5 ++ .../test/scala/dotty/tools/dotc/JSRun.scala | 70 +++++++++++++++++ .../tools/dotc/ScalaJSCompilationTests.scala | 28 +++++++ .../scala/dotty/tools/dotc/ScalaJSLink.scala | 58 ++++++++++++++ tests/run/10838/Test.scala | 2 + tests/run/Course-2002-01.scala | 2 + tests/run/Course-2002-02.scala | 2 + tests/run/Course-2002-03.scala | 2 + tests/run/Course-2002-04.scala | 2 + tests/run/Course-2002-05.scala | 2 + tests/run/Course-2002-06.scala | 2 + tests/run/Course-2002-07.scala | 2 + tests/run/Course-2002-08.scala | 2 + tests/run/Course-2002-09.scala | 2 + tests/run/Course-2002-10.scala | 2 + tests/run/Course-2002-13.scala | 2 + tests/run/IArrayOps.check | 6 +- tests/run/IArrayOps.scala | 22 ++++-- tests/run/Meter.check | 14 ++-- tests/run/Meter.scala | 6 +- tests/run/MeterCaseClass.check | 14 ++-- tests/run/MeterCaseClass.scala | 6 +- tests/run/StringConcat.check | Bin 1127 -> 1126 bytes tests/run/StringConcat.scala | 2 +- tests/run/array-charSeq.scala | 2 + tests/run/arrays-from-java/Test_2.scala | 2 + tests/run/assert-stack.scala | 2 +- .../Test_2.scala | 2 + tests/run/beans/Test_4.scala | 4 +- tests/run/byname-param.scala | 3 + tests/run/capturing.scala | 2 + tests/run/case-class-serializable.scala | 2 + tests/run/caseClassHash.check | 2 - tests/run/caseClassHash.scala | 2 +- tests/run/classof.scala | 2 + tests/run/colltest1.scala | 2 + tests/run/colltest5/CollectionTests_2.scala | 2 + tests/run/colltest6/CollectionTests_2.scala | 2 + tests/run/deadlock.scala | 2 + tests/run/decorators/Test.scala | 4 +- tests/run/decorators/sample-adapters.scala | 5 +- ...efaults-serizaliable-with-forwarders.scala | 2 + tests/run/dynamic-anyval.check | 4 +- tests/run/dynamic-anyval.scala | 4 +- tests/run/enum-efficient-collections.scala | 2 + tests/run/enum-java/Test.java | 2 + tests/run/enum-values.scala | 2 + tests/run/enums-serialization-compat.scala | 2 + tests/run/enums.scala | 2 + tests/run/erased-inline-vals.scala | 1 + tests/run/exceptions-2.scala | 2 + tests/run/exceptions-nest.scala | 2 + .../Test_2.scala | 2 + tests/run/forwarder.scala | 2 + tests/run/functionXXL.scala | 2 + tests/run/future-flatmap-exec-count.scala | 2 + tests/run/getclass.scala | 2 + tests/run/hashhash.scala | 2 + tests/run/i10884/Test_2.scala | 2 + tests/run/i11114.scala | 2 + tests/run/i11367.scala | 2 + tests/run/i11486/Test_2.scala | 2 + tests/run/i12086/Test_3.scala | 2 + tests/run/i12204/Test_3.scala | 2 + tests/run/i12753/Test.java | 2 + tests/run/i12976.scala | 3 +- tests/run/i1387.scala | 2 + tests/run/i14083.scala | 2 + tests/run/i14198.scala | 1 + tests/run/i1692.scala | 2 + tests/run/i1692b.scala | 2 + tests/run/i2004.scala | 2 + tests/run/i2275.scala | 2 + tests/run/i2738.scala | 2 + tests/run/i2760/Test.scala | 2 + tests/run/i2780/Test.scala | 2 + tests/run/i2883.scala | 2 + tests/run/i3006.scala | 2 + tests/run/i3006b.scala | 2 + tests/run/i3340.check | 12 +-- tests/run/i3340.scala | 2 + tests/run/i4192/Test.scala | 2 + tests/run/i4404a.scala | 2 + tests/run/i4404b.scala | 2 + tests/run/i4404c.scala | 2 + tests/run/i4446.scala | 2 + tests/run/i4523.scala | 2 + tests/run/i4659b.scala | 4 +- tests/run/i4866.scala | 2 + tests/run/i4947.check | 8 +- tests/run/i4947.scala | 2 + tests/run/i4947a2.check | 28 +++---- tests/run/i4947a2.scala | 2 + tests/run/i4947b.check | 72 +++++++++--------- tests/run/i4947b/Test_2.scala | 2 + tests/run/i4947c.check | 8 +- tests/run/i4947c.scala | 2 + tests/run/i502.scala | 2 + tests/run/i533/Test.scala | 2 + tests/run/i5441.check | 6 +- tests/run/i5441.scala | 3 + tests/run/i5924b.scala | 2 + tests/run/i5924c.scala | 2 + tests/run/i6219.scala | 2 + tests/run/i6834.scala | 2 + tests/run/i7212/Test.java | 2 + tests/run/i7359.scala | 3 + tests/run/i7843.scala | 2 + tests/run/i7960.scala | 2 + tests/run/i7990/Test_2.scala | 2 + tests/run/i8001/Test_3.scala | 2 + tests/run/i8033.scala | 2 + tests/run/i8101/Test.scala | 2 + tests/run/i8531/Test.scala | 2 + tests/run/i8599/Test_3.scala | 2 + tests/run/i8602/Test_3.scala | 2 + tests/run/i8661/Test.scala | 2 + tests/run/i9132.scala | 10 ++- tests/run/i9155.scala | 2 + tests/run/i9881.scala | 2 + tests/run/i9939.scala | 2 + tests/run/impconvtimes.check | 2 +- tests/run/impconvtimes.scala | 2 +- tests/run/implicitFunctionXXL.scala | 2 + tests/run/implicitFuns.scala | 2 + tests/run/imports.scala | 2 - tests/run/inlineAddDeserializeLambda.scala | 2 + tests/run/interpolation-opt.check | 8 +- tests/run/interpolation-opt.scala | 10 +-- tests/run/is-valid-num.scala | 2 + tests/run/java-annot-params/Test_1.scala | 4 +- tests/run/java-intersection/Test_2.scala | 2 + tests/run/java-longnames/Test_2.scala | 2 + tests/run/java-no-scala-import/Test.scala | 2 + tests/run/java-varargs-2/Test.scala | 2 + tests/run/java-varargs-3/Test.scala | 2 + tests/run/java-varargs/Test_2.scala | 2 + tests/run/java-vc-overload/Test_3.scala | 2 + tests/run/junitForwarders/Test.java | 2 + tests/run/lambda-serialization-gc.scala | 2 + tests/run/lambda-serialization-security.scala | 2 + tests/run/lambda-serialization.scala | 2 + tests/run/lazy-impl.scala | 2 + tests/run/main-annotation-birthday.scala | 2 + tests/run/main-annotation-dash-dash.scala | 2 + .../run/main-annotation-default-value-1.scala | 2 + .../run/main-annotation-default-value-2.scala | 2 + tests/run/main-annotation-example.scala | 2 + tests/run/main-annotation-flags.scala | 2 + tests/run/main-annotation-help-override.scala | 2 + tests/run/main-annotation-help.scala | 2 + .../main-annotation-homemade-annot-1.scala | 2 + .../main-annotation-homemade-annot-2.scala | 2 + .../main-annotation-homemade-annot-3.scala | 2 + .../main-annotation-homemade-annot-4.scala | 2 + .../main-annotation-homemade-annot-5.scala | 2 + .../main-annotation-homemade-annot-6.scala | 2 + .../main-annotation-homemade-parser-1.scala | 2 + .../main-annotation-homemade-parser-2.scala | 2 + .../main-annotation-homemade-parser-3.scala | 2 + .../main-annotation-homemade-parser-4.scala | 2 + .../main-annotation-homemade-parser-5.scala | 2 + tests/run/main-annotation-multiple.scala | 2 + tests/run/main-annotation-named-params.scala | 2 + tests/run/main-annotation-newMain.scala | 2 + ...n-annotation-no-parameters-no-parens.scala | 2 + tests/run/main-annotation-no-parameters.scala | 2 + tests/run/main-annotation-overload.scala | 2 + tests/run/main-annotation-param-annot-1.scala | 2 + tests/run/main-annotation-param-annot-2.scala | 2 + ...nnotation-param-annot-invalid-params.scala | 2 + tests/run/main-annotation-return-type-1.scala | 2 + tests/run/main-annotation-return-type-2.scala | 2 + tests/run/main-annotation-short-name.scala | 2 + tests/run/main-annotation-simple.scala | 2 + tests/run/main-annotation-top-level.scala | 2 + tests/run/main-annotation-types.scala | 2 + tests/run/main-annotation-vararg-1.scala | 2 + tests/run/main-annotation-vararg-2.scala | 2 + tests/run/main-annotation-wrong-param-1.scala | 2 + .../main-annotation-wrong-param-names.scala | 2 + .../main-annotation-wrong-param-number.scala | 2 + .../main-annotation-wrong-param-type.scala | 2 + tests/run/main-calculator-example.scala | 2 + tests/run/manifest-summoning.scala | 2 + tests/run/matchable.scala | 3 +- tests/run/mixin-forwarder-overload/Test.java | 2 + tests/run/mixin-signatures.scala | 2 + tests/run/nothing-lazy-val.scala | 1 + tests/run/nothing-val.scala | 1 + tests/run/nothing-var.scala | 1 + tests/run/null-lazy-val.scala | 1 + tests/run/null-val.scala | 1 + tests/run/null-var.scala | 1 + tests/run/nullAsInstanceOf.check | Bin 26 -> 0 bytes tests/run/nullAsInstanceOf.scala | 21 ++--- tests/run/optimizer-array-load.scala | 2 + tests/run/overload_repeated/B_2.scala | 2 + tests/run/paramForwarding.scala | 2 + tests/run/paramForwarding_separate/B_2.scala | 2 + tests/run/paramForwarding_together.scala | 2 + tests/run/paramForwarding_together_b.scala | 2 + tests/run/planets.check | 2 +- tests/run/planets.scala | 5 +- tests/run/polymorphic-functions.scala | 2 + tests/run/predef-cycle.scala | 2 + tests/run/promotion.check | 8 +- tests/run/promotion.scala | 8 +- tests/run/protectedacc.check | 2 +- tests/run/protectedacc.scala | 2 +- tests/run/quoted-sematics-1.scala | 1 + tests/run/range-unit.scala | 2 + tests/run/redundantParents.scala | 1 + tests/run/repeatable/Test_1.scala | 2 + tests/run/runtime.check | 4 +- tests/run/runtime.scala | 4 +- tests/run/serialization-new.scala | 2 + tests/run/serialize-stream.scala | 2 +- tests/run/serialize.scala | 2 + tests/run/spec-self.check | 4 +- tests/run/spec-self.scala | 4 +- tests/run/splice-position.check | 4 +- tests/run/splice-position/Test.scala | 2 + tests/run/static/i2054.scala | 3 +- tests/run/statics.scala | 2 + tests/run/string-switch.scala | 2 +- tests/run/t10232.scala | 2 + tests/run/t10594.scala | 4 +- tests/run/t10889/Test.java | 2 + tests/run/t11485.scala | 2 + tests/run/t12300/Test_2.scala | 2 + tests/run/t1505.scala | 2 + tests/run/t2111.scala | 1 + tests/run/t2378.scala | 2 + tests/run/t2849.scala | 2 + tests/run/t2857.scala | 2 + tests/run/t3038d.scala | 2 + tests/run/t3452a/S_3.scala | 2 + tests/run/t3452b/S_3.scala | 2 + tests/run/t3452d/Test.java | 2 + tests/run/t3452e/Test.scala | 2 + tests/run/t3452g/Test.java | 2 + tests/run/t3493.scala | 4 +- tests/run/t3613.scala | 2 + tests/run/t3616.scala | 2 + tests/run/t3687.scala | 2 + tests/run/t3702.check | 2 +- tests/run/t3702.scala | 2 +- tests/run/t3719.scala | 2 + tests/run/t4023.scala | 2 + tests/run/t4024.scala | 2 + tests/run/t4119/S.scala | 2 + tests/run/t4238/s_2.scala | 2 + tests/run/t4317/S_3.scala | 2 + tests/run/t4536.scala | 2 + tests/run/t4570.scala | 2 + tests/run/t4813.scala | 2 + tests/run/t5262.scala | 7 +- tests/run/t5552.check | 2 +- tests/run/t5552.scala | 2 +- tests/run/t5568.scala | 2 + tests/run/t5590.scala | 5 +- tests/run/t5612.scala | 2 + tests/run/t5629b.check | 4 +- tests/run/t5629b.scala | 6 +- tests/run/t5680.scala | 2 + tests/run/t5866.check | 4 +- tests/run/t5866.scala | 8 +- tests/run/t5974.scala | 2 + tests/run/t6138-2/ScalaClass.scala | 4 +- tests/run/t6138/ScalaClass.scala | 4 +- tests/run/t6154.scala | 2 + tests/run/t6168/main.scala | 2 +- tests/run/t6168b/main.scala | 2 +- tests/run/t6260-delambdafy.scala | 2 + tests/run/t6380.scala | 2 + tests/run/t6488.scala | 2 + tests/run/t6633.scala | 2 + tests/run/t6634.scala | 2 + tests/run/t6793.scala | 2 + tests/run/t6827.scala | 2 + tests/run/t7120b.scala | 1 + tests/run/t7214.scala | 2 + tests/run/t7336.scala | 2 + tests/run/t7374/Test.java | 2 + tests/run/t7763.scala | 2 + tests/run/t7932.scala | 2 + tests/run/t8087.scala | 2 + tests/run/t8177f.scala | 2 + tests/run/t8188.scala | 2 + tests/run/t8549b.scala | 2 + tests/run/t8570a.scala | 3 + tests/run/t8601b.scala | 2 + tests/run/t8601c.scala | 2 + tests/run/t8601e/Test.scala | 2 + tests/run/t8690.scala | 2 + tests/run/t8905/Test.java | 2 + tests/run/t8931.scala | 1 + tests/run/t9915/Test_2.scala | 1 + tests/run/targetName-interop/Test_3.scala | 1 + tests/run/targetName-modules-1/Test_3.scala | 2 + tests/run/targetName-modules-2/Test_3.scala | 2 + tests/run/throws-annot.scala | 2 + tests/run/trait-static-forwarder/Test.java | 2 + tests/run/traitNoInit.scala | 2 + tests/run/transparentPower.check | 4 +- tests/run/transparentPower/Test_2.scala | 4 +- tests/run/triemap-hash.scala | 5 +- tests/run/try-catch-unify.check | 2 +- tests/run/try-catch-unify.scala | 2 +- tests/run/tryPatternMatch.scala | 2 + tests/run/tuple-ops.scala | 3 + tests/run/tupled-function-andThen.scala | 2 + tests/run/tupled-function-apply.scala | 2 + tests/run/tupled-function-compose.scala | 2 + .../tupled-function-extension-method.scala | 2 + tests/run/tupled-function-tupled.scala | 2 + tests/run/tuples1b.scala | 2 + tests/run/typelevel-numeric.check | 2 +- tests/run/typelevel-numeric.scala | 4 +- tests/run/unit-lazy-val.scala | 1 + tests/run/unit-val.scala | 1 + tests/run/unit-var.scala | 1 + tests/run/unit-volatile-var.scala | 1 + tests/run/unit_erasure.scala | 2 + tests/run/value-class-extractor-seq.scala | 2 + tests/run/varargs-abstract/Test.java | 2 + tests/run/varargs-extend-java-2/Test.scala | 2 + tests/run/varargs-extend-java/test.scala | 2 + tests/run/variable-pattern-access.scala | 2 + tests/run/verify-ctor.scala | 7 +- tests/run/view-iterator-stream.scala | 1 + tests/run/virtpatmat_switch.check | 2 +- tests/run/virtpatmat_switch.scala | 2 +- tests/run/weak-conformance.scala | 2 + 339 files changed, 920 insertions(+), 224 deletions(-) create mode 100644 sjs-compiler-tests/test/scala/dotty/tools/dotc/JSRun.scala create mode 100644 sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSLink.scala delete mode 100644 tests/run/nullAsInstanceOf.check diff --git a/compiler/test/dotty/tools/utils.scala b/compiler/test/dotty/tools/utils.scala index 9d56b28a2c41..bfedc338f25a 100644 --- a/compiler/test/dotty/tools/utils.scala +++ b/compiler/test/dotty/tools/utils.scala @@ -52,14 +52,16 @@ end assertThrows /** Famous tool names in the ecosystem. Used for tool args in test files. */ enum ToolName: - case Scala, Scalac, Java, Javac, Test + case Scala, Scalac, Java, Javac, ScalaJS, Test object ToolName: def named(s: String): ToolName = values.find(_.toString.equalsIgnoreCase(s)).getOrElse(throw IllegalArgumentException(s)) +type ToolArgs = Map[ToolName, List[String]] + /** Take a prefix of each file, extract tool args, parse, and combine. * Arg parsing respects quotation marks. Result is a map from ToolName to the combined tokens. */ -def toolArgsFor(files: List[JPath], charset: Charset = UTF_8): Map[ToolName, List[String]] = +def toolArgsFor(files: List[JPath], charset: Charset = UTF_8): ToolArgs = files.foldLeft(Map.empty[ToolName, List[String]]) { (res, path) => val toolargs = toolArgsParse(resource(Files.lines(path, charset))(_.limit(10).toScala(List))) toolargs.foldLeft(res) { diff --git a/compiler/test/dotty/tools/vulpix/ParallelTesting.scala b/compiler/test/dotty/tools/vulpix/ParallelTesting.scala index 48175f5236ab..1366cedfbe04 100644 --- a/compiler/test/dotty/tools/vulpix/ParallelTesting.scala +++ b/compiler/test/dotty/tools/vulpix/ParallelTesting.scala @@ -96,6 +96,9 @@ trait ParallelTesting extends RunnerOrchestration { self => self.copy(flags = flags.without(flags1: _*)) } + lazy val allToolArgs: ToolArgs = + toolArgsFor(sourceFiles.toList.map(_.toPath), getCharsetFromEncodingOpt(flags)) + /** Generate the instructions to redo the test from the command line */ def buildInstructions(errors: Int, warnings: Int): String = { val sb = new StringBuilder @@ -199,6 +202,9 @@ trait ParallelTesting extends RunnerOrchestration { self => def sourceFiles = compilationGroups.map(_._2).flatten.toArray } + protected def shouldSkipTestSource(testSource: TestSource): Boolean = + false + private trait CompilationLogic { this: Test => def suppressErrors = false @@ -344,13 +350,15 @@ trait ParallelTesting extends RunnerOrchestration { self => /** All testSources left after filtering out */ private val filteredSources = - if (testFilter.isEmpty) testSources - else testSources.filter { - case JointCompilationSource(_, files, _, _, _, _) => - testFilter.exists(filter => files.exists(file => file.getPath.contains(filter))) - case SeparateCompilationSource(_, dir, _, _) => - testFilter.exists(dir.getPath.contains) - } + val filteredByName = + if (testFilter.isEmpty) testSources + else testSources.filter { + case JointCompilationSource(_, files, _, _, _, _) => + testFilter.exists(filter => files.exists(file => file.getPath.contains(filter))) + case SeparateCompilationSource(_, dir, _, _) => + testFilter.exists(dir.getPath.contains) + } + filteredByName.filterNot(shouldSkipTestSource(_)) /** Total amount of test sources being compiled by this test */ val sourceCount = filteredSources.length @@ -739,7 +747,7 @@ trait ParallelTesting extends RunnerOrchestration { self => private def verifyOutput(checkFile: Option[JFile], dir: JFile, testSource: TestSource, warnings: Int, reporters: Seq[TestReporter], logger: LoggedRunnable) = { if (Properties.testsNoRun) addNoRunWarning() - else runMain(testSource.runClassPath) match { + else runMain(testSource.runClassPath, testSource.allToolArgs) match { case Success(output) => checkFile match { case Some(file) if file.exists => diffTest(testSource, file, output.linesIterator.toList, reporters, logger) case _ => diff --git a/compiler/test/dotty/tools/vulpix/RunnerOrchestration.scala b/compiler/test/dotty/tools/vulpix/RunnerOrchestration.scala index e95f48e3ecd7..8e9a27e766b4 100644 --- a/compiler/test/dotty/tools/vulpix/RunnerOrchestration.scala +++ b/compiler/test/dotty/tools/vulpix/RunnerOrchestration.scala @@ -48,7 +48,7 @@ trait RunnerOrchestration { def safeMode: Boolean /** Running a `Test` class's main method from the specified `dir` */ - def runMain(classPath: String)(implicit summaryReport: SummaryReporting): Status = + def runMain(classPath: String, toolArgs: ToolArgs)(implicit summaryReport: SummaryReporting): Status = monitor.runMain(classPath) /** Kill all processes */ diff --git a/compiler/test/dotty/tools/vulpix/TestConfiguration.scala b/compiler/test/dotty/tools/vulpix/TestConfiguration.scala index 0f86dae82f5a..1f53add86667 100644 --- a/compiler/test/dotty/tools/vulpix/TestConfiguration.scala +++ b/compiler/test/dotty/tools/vulpix/TestConfiguration.scala @@ -72,7 +72,7 @@ object TestConfiguration { lazy val withTastyInspectorOptions = defaultOptions.withClasspath(withTastyInspectorClasspath).withRunClasspath(withTastyInspectorClasspath) lazy val scalaJSOptions = - defaultOptions.and("-scalajs").withClasspath(scalaJSClasspath) + defaultOptions.and("-scalajs").withClasspath(scalaJSClasspath).withRunClasspath(scalaJSClasspath) val allowDeepSubtypes = defaultOptions without "-Yno-deep-subtypes" val allowDoubleBindings = defaultOptions without "-Yno-double-bindings" val picklingOptions = defaultOptions and ( diff --git a/project/Build.scala b/project/Build.scala index 30aa05b9ee5d..b25375c0a676 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -1228,6 +1228,11 @@ object Build { settings( commonNonBootstrappedSettings, + libraryDependencies ++= Seq( + "org.scala-js" %% "scalajs-linker" % scalaJSVersion % Test cross CrossVersion.for3Use2_13, + "org.scala-js" %% "scalajs-env-nodejs" % "1.3.0" % Test cross CrossVersion.for3Use2_13, + ), + // Change the baseDirectory when running the tests Test / baseDirectory := baseDirectory.value.getParentFile, diff --git a/sjs-compiler-tests/test/scala/dotty/tools/dotc/JSRun.scala b/sjs-compiler-tests/test/scala/dotty/tools/dotc/JSRun.scala new file mode 100644 index 000000000000..c3a80074afe6 --- /dev/null +++ b/sjs-compiler-tests/test/scala/dotty/tools/dotc/JSRun.scala @@ -0,0 +1,70 @@ +package dotty.tools.dotc + +import scala.concurrent.duration.Duration +import scala.concurrent.{Await, ExecutionContext} + +import java.io.InputStream +import java.nio.charset.StandardCharsets +import java.nio.file.Path + +import dotty.tools.vulpix.* + +import org.scalajs.jsenv.* +import org.scalajs.jsenv.nodejs.NodeJSEnv +import org.scalajs.logging.* + +object JSRun: + def runJSCode(sjsCode: Path)(using ExecutionContext): Status = + val logger = new ScalaConsoleLogger(Level.Warn) + + var stdoutStream: Option[InputStream] = None + var stderrStream: Option[InputStream] = None + + val input = Input.Script(sjsCode) :: Nil + val config = RunConfig() + .withLogger(logger) + .withInheritOut(false) + .withInheritErr(false) + .withOnOutputStream { (out, err) => + stdoutStream = out + stderrStream = err + } + + val run = new NodeJSEnv().start(input, config) + try + val success = try { + Await.result(run.future, Duration.Inf) + true + } catch { + case _: Exception => + false + } + val output = readStreamFully(stderrStream) + readStreamFully(stdoutStream) + if success then + Success(output) + else + Failure(output) + finally + run.close() + end runJSCode + + private def readStreamFully(optStream: Option[InputStream]): String = + optStream match + case None => + "" + case Some(stream) => + try + val result = new java.io.ByteArrayOutputStream() + val buffer = new Array[Byte](1024) + while ({ + val len = stream.read(buffer) + len >= 0 && { + result.write(buffer, 0, len) + true + } + }) () + new String(result.toByteArray(), StandardCharsets.UTF_8) + finally + stream.close() + end readStreamFully +end JSRun diff --git a/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSCompilationTests.scala b/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSCompilationTests.scala index fa28736453c6..ca4f292568bb 100644 --- a/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSCompilationTests.scala +++ b/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSCompilationTests.scala @@ -32,6 +32,34 @@ class ScalaJSCompilationTests extends ParallelTesting { compileFilesInDir("tests/neg-scalajs", scalaJSOptions), ).checkExpectedErrors() } + + // Run tests ----------------------------------------------------------------- + + override protected def shouldSkipTestSource(testSource: TestSource): Boolean = + testSource.allToolArgs.get(ToolName.ScalaJS).exists(_.contains("--skip")) + + override def runMain(classPath: String, toolArgs: ToolArgs)(implicit summaryReport: SummaryReporting): Status = + import scala.concurrent.ExecutionContext.Implicits.global + + val scalaJSOptions = toolArgs.getOrElse(ToolName.ScalaJS, Nil) + + try + val useCompliantSemantics = scalaJSOptions.contains("--compliant-semantics") + val sjsCode = ScalaJSLink.link(classPath, useCompliantSemantics) + JSRun.runJSCode(sjsCode) + catch + case t: Exception => + val writer = new java.io.StringWriter() + t.printStackTrace(new java.io.PrintWriter(writer)) + Failure(writer.toString()) + end runMain + + @Test def runScalaJS: Unit = { + implicit val testGroup: TestGroup = TestGroup("runScalaJS") + aggregateTests( + compileFilesInDir("tests/run", scalaJSOptions), + ).checkRuns() + } } object ScalaJSCompilationTests { diff --git a/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSLink.scala b/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSLink.scala new file mode 100644 index 000000000000..54e92b1559d6 --- /dev/null +++ b/sjs-compiler-tests/test/scala/dotty/tools/dotc/ScalaJSLink.scala @@ -0,0 +1,58 @@ +package dotty.tools.dotc + +import scala.concurrent.duration.Duration +import scala.concurrent.{Await, ExecutionContext} + +import java.io.File +import java.nio.file.{Files, Path} + +import com.google.common.jimfs.Jimfs + +import org.scalajs.linker.* +import org.scalajs.linker.interface.* +import org.scalajs.logging.* + +object ScalaJSLink: + private val compliantSemantics: Semantics = + Semantics.Defaults + .withAsInstanceOfs(CheckedBehavior.Compliant) + .withArrayIndexOutOfBounds(CheckedBehavior.Compliant) + .withModuleInit(CheckedBehavior.Compliant) + end compliantSemantics + + def link(classPath: String, useCompliantSemantics: Boolean)(using ExecutionContext): Path = + val cpEntries = classPath.split(File.pathSeparatorChar) + + val logger = new ScalaConsoleLogger(Level.Warn) + + val moduleInitializers = Seq(ModuleInitializer.mainMethodWithArgs( + "Test", "main", Nil)) + + val semantics = if useCompliantSemantics then compliantSemantics else Semantics.Defaults + + val linkerConfig = StandardConfig() + .withCheckIR(true) + .withSourceMap(false) + .withBatchMode(true) + .withSemantics(semantics) + + val linker = StandardImpl.linker(linkerConfig) + + val dir = Jimfs.newFileSystem().getPath("tmp") + Files.createDirectory(dir) + + val cache = StandardImpl.irFileCache().newCache + val result = PathIRContainer + .fromClasspath(cpEntries.toSeq.map(entry => new File(entry).toPath())) + .map(_._1) + .flatMap(cache.cached _) + .flatMap(linker.link(_, moduleInitializers, PathOutputDirectory(dir), logger)) + + val report = Await.result(result, Duration.Inf) + + if (report.publicModules.size != 1) + throw new AssertionError(s"got other than 1 module: $report") + + dir.resolve(report.publicModules.head.jsFileName) + end link +end ScalaJSLink diff --git a/tests/run/10838/Test.scala b/tests/run/10838/Test.scala index ebcf8298faf2..581250c44e2c 100644 --- a/tests/run/10838/Test.scala +++ b/tests/run/10838/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val a = new A diff --git a/tests/run/Course-2002-01.scala b/tests/run/Course-2002-01.scala index dce7ee7ce0bb..3bfc3ba7b676 100644 --- a/tests/run/Course-2002-01.scala +++ b/tests/run/Course-2002-01.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 01 //############################################################################ diff --git a/tests/run/Course-2002-02.scala b/tests/run/Course-2002-02.scala index 02eef71aecf9..a58dc9ea0aa3 100644 --- a/tests/run/Course-2002-02.scala +++ b/tests/run/Course-2002-02.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 02 //############################################################################ diff --git a/tests/run/Course-2002-03.scala b/tests/run/Course-2002-03.scala index eb79f0da074e..28b440d4a26c 100644 --- a/tests/run/Course-2002-03.scala +++ b/tests/run/Course-2002-03.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 03 //############################################################################ diff --git a/tests/run/Course-2002-04.scala b/tests/run/Course-2002-04.scala index 2790775351f0..f262b360fa64 100644 --- a/tests/run/Course-2002-04.scala +++ b/tests/run/Course-2002-04.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 04 //############################################################################ diff --git a/tests/run/Course-2002-05.scala b/tests/run/Course-2002-05.scala index 109d281cfe61..da86532ebed8 100644 --- a/tests/run/Course-2002-05.scala +++ b/tests/run/Course-2002-05.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 05 //############################################################################ diff --git a/tests/run/Course-2002-06.scala b/tests/run/Course-2002-06.scala index a41b532b9709..dcfc8d0a20cf 100644 --- a/tests/run/Course-2002-06.scala +++ b/tests/run/Course-2002-06.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 06 //############################################################################ diff --git a/tests/run/Course-2002-07.scala b/tests/run/Course-2002-07.scala index c168313a56d7..b8e79c63dab5 100644 --- a/tests/run/Course-2002-07.scala +++ b/tests/run/Course-2002-07.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 07 //############################################################################ diff --git a/tests/run/Course-2002-08.scala b/tests/run/Course-2002-08.scala index f92436798ca9..aa4963a2cfe1 100644 --- a/tests/run/Course-2002-08.scala +++ b/tests/run/Course-2002-08.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 08 //############################################################################ diff --git a/tests/run/Course-2002-09.scala b/tests/run/Course-2002-09.scala index 0aa6209a2951..1249ce8b3c91 100644 --- a/tests/run/Course-2002-09.scala +++ b/tests/run/Course-2002-09.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 09 //############################################################################ diff --git a/tests/run/Course-2002-10.scala b/tests/run/Course-2002-10.scala index b7ba833fab23..e08006ba5a7d 100644 --- a/tests/run/Course-2002-10.scala +++ b/tests/run/Course-2002-10.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 10 //############################################################################ diff --git a/tests/run/Course-2002-13.scala b/tests/run/Course-2002-13.scala index 8a2dd9575410..70641b65271e 100644 --- a/tests/run/Course-2002-13.scala +++ b/tests/run/Course-2002-13.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Programmation IV - 2002 - Week 13 //############################################################################ diff --git a/tests/run/IArrayOps.check b/tests/run/IArrayOps.check index 847906991768..9a7b3fa0b105 100644 --- a/tests/run/IArrayOps.check +++ b/tests/run/IArrayOps.check @@ -131,7 +131,7 @@ ArraySeq(1, 2, 3) ArraySeq((1,0), (2,1), (3,2)) List(1, 2, 3) Vector(1, 2, 3) -ArrayBuffer(1, 2, 3) +Buffer(1, 2, 3) ArraySeq(1, 2, 3) ArraySeq(1, 2, 3) List(1, 2, 3) @@ -158,5 +158,5 @@ false ArraySeq(a, b) ArraySeq(1, 2, 4, 1, 2, 3, 9, 10) List((1,5), (1,4), (1,5), (1,6), (1,5), (1,4), (1,5), (1,6), (1,5), (1,4), (1,5), (1,6)) -List((1,true,1,2,3,4,5.0,6.0,a,abc,xyz,())) -ArraySeq((1,true,1,2,3,4,5.0,6.0,a,abc,xyz,())) +List((1,true,1,2,3,4,5.5,6.5,a,abc,xyz,())) +ArraySeq((1,true,1,2,3,4,5.5,6.5,a,abc,xyz,())) diff --git a/tests/run/IArrayOps.scala b/tests/run/IArrayOps.scala index 81a6e3c2a11b..f6bc4e9a06c9 100644 --- a/tests/run/IArrayOps.scala +++ b/tests/run/IArrayOps.scala @@ -173,9 +173,14 @@ println(iarr1.zipWithIndex.toSeq) + def portableBufferToString[A](x: scala.collection.Iterable[A]): String = + x match + case x: scala.collection.mutable.Buffer[A] => x.mkString("Buffer(", ", ", ")") + case _ => s"not a buffer $x" + println(iarr1.to(List)) println(iarr1.to(Vector)) - println(iarr1.toBuffer) + println(portableBufferToString(iarr1.toBuffer)) println(iarr1.toIndexedSeq) println(iarr1.toIterable) println(iarr1.toList) @@ -243,6 +248,9 @@ (x, y) ).toSeq) + def portableToString(x: Any): String = + if x == () then "()" else x.toString // portable on Scala.js + println( (for x1 <- List(1) @@ -251,14 +259,14 @@ x4 <- IArray(2: Short) x5 <- IArray(3) x6 <- IArray(4L) - x7 <- IArray(5f) - x8 <- IArray(6d) + x7 <- IArray(5.5f) + x8 <- IArray(6.5d) x9 <- IArray('a') x10 <- IArray("abc") x11 <- IArray("xyz": Any) x12 <- IArray(()) yield - (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) + (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, portableToString(x12)) ).toSeq) println( @@ -269,12 +277,12 @@ x4 <- IArray(2: Short) x5 <- IArray(3) x6 <- IArray(4L) - x7 <- IArray(5f) - x8 <- IArray(6d) + x7 <- IArray(5.5f) + x8 <- IArray(6.5d) x9 <- IArray('a') x10 <- IArray("abc") x11 <- IArray("xyz": Any) x12 <- IArray(()) yield - (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) + (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, portableToString(x12)) ).toSeq) diff --git a/tests/run/Meter.check b/tests/run/Meter.check index 9d8fb7aca9ab..fedc03cfa85e 100644 --- a/tests/run/Meter.check +++ b/tests/run/Meter.check @@ -1,12 +1,12 @@ -2.0 -4.0m +2.0714285714285716 +5.6m false x.isInstanceOf[Meter]: true -x.hashCode: 1072693248 +x.hashCode: 1502609408 x == y: true a == b: true testing native arrays -List(1.0m, 2.0m) -1.0m ->>>1.0m<<< 1.0m ->>>2.0m<<< 2.0m +List(1.4m, 2.8m) +1.4m +>>>1.4m<<< 1.4m +>>>2.8m<<< 2.8m diff --git a/tests/run/Meter.scala b/tests/run/Meter.scala index 3b92cbe773bf..852c1deacc79 100644 --- a/tests/run/Meter.scala +++ b/tests/run/Meter.scala @@ -60,9 +60,9 @@ object Test extends App { val v: Double = b.asInstanceOf[Double] } - val x = new Meter(1) + val x = new Meter(1.4) val y = x - println((x + x) / x) + println((x + new Meter(1.5)) / x) println((x + x) / 0.5) println((x < x).toString) println("x.isInstanceOf[Meter]: "+x.isInstanceOf[Meter]) @@ -71,7 +71,7 @@ object Test extends App { println("x.hashCode: "+x.hashCode) // println("x == 1: "+(x == 1)) println("x == y: "+(x == y)) - assert(x.hashCode == (1.0).hashCode) + assert(x.hashCode == (1.4).hashCode) val a: Any = x val b: Any = y diff --git a/tests/run/MeterCaseClass.check b/tests/run/MeterCaseClass.check index 295004c1ca79..c3940264a586 100644 --- a/tests/run/MeterCaseClass.check +++ b/tests/run/MeterCaseClass.check @@ -1,12 +1,12 @@ -2.0 -Meter(4.0) +2.0714285714285716 +Meter(5.6) false x.isInstanceOf[Meter]: true -x.hashCode: 1072693248 +x.hashCode: 1502609408 x == y: true a == b: true testing native arrays -List(Meter(1.0), Meter(2.0)) -Meter(1.0) ->>>Meter(1.0)<<< Meter(1.0) ->>>Meter(2.0)<<< Meter(2.0) +List(Meter(1.4), Meter(2.8)) +Meter(1.4) +>>>Meter(1.4)<<< Meter(1.4) +>>>Meter(2.8)<<< Meter(2.8) diff --git a/tests/run/MeterCaseClass.scala b/tests/run/MeterCaseClass.scala index 75790f08d5c6..60290a92f764 100644 --- a/tests/run/MeterCaseClass.scala +++ b/tests/run/MeterCaseClass.scala @@ -57,9 +57,9 @@ object Test extends App { val v: Double = b.asInstanceOf[Double] } - val x = new Meter(1) + val x = new Meter(1.4) val y = x - println((x + x) / x) + println((x + new Meter(1.5)) / x) println((x + x) / 0.5) println((x < x).toString) println("x.isInstanceOf[Meter]: "+x.isInstanceOf[Meter]) @@ -68,7 +68,7 @@ object Test extends App { println("x.hashCode: "+x.hashCode) // println("x == 1: "+(x == 1)) // error: Values of types a.Meter and Int cannot be compared with == or != println("x == y: "+(x == y)) - assert(x.hashCode == (1.0).hashCode) + assert(x.hashCode == (1.4).hashCode) val a: Any = x val b: Any = y diff --git a/tests/run/StringConcat.check b/tests/run/StringConcat.check index f7c52a0ffece365212c3af21078ff412cf40601d..46e2405c4682826dce4fdfe782c88e92bd08b136 100644 GIT binary patch delta 12 UcmaFP@r+}_GDg#lEA}%303^}{WdHyG delta 13 VcmaFH@tkAAGA2Wljm!5l0{|%s1(g5* diff --git a/tests/run/StringConcat.scala b/tests/run/StringConcat.scala index 774147ba1303..d0a9c32e1016 100644 --- a/tests/run/StringConcat.scala +++ b/tests/run/StringConcat.scala @@ -9,7 +9,7 @@ val s: Short = 345 val b: Byte = 12 val z: Boolean = true - val f: Float = 3.14f + val f: Float = 3.5 val j: Long = 98762147483647L val d: Double = 3.1415d diff --git a/tests/run/array-charSeq.scala b/tests/run/array-charSeq.scala index 514fb54d64c3..fe53096445d7 100644 --- a/tests/run/array-charSeq.scala +++ b/tests/run/array-charSeq.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import runtime.ArrayCharSequence object Test { diff --git a/tests/run/arrays-from-java/Test_2.scala b/tests/run/arrays-from-java/Test_2.scala index c906f4fc0e8e..92747f471469 100644 --- a/tests/run/arrays-from-java/Test_2.scala +++ b/tests/run/arrays-from-java/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = C_2.test() diff --git a/tests/run/assert-stack.scala b/tests/run/assert-stack.scala index ccd52d3caf88..68aaf9d2c380 100644 --- a/tests/run/assert-stack.scala +++ b/tests/run/assert-stack.scala @@ -1,4 +1,4 @@ - +// scalajs: --skip object Test { diff --git a/tests/run/backwardsCompat-implicitParens/Test_2.scala b/tests/run/backwardsCompat-implicitParens/Test_2.scala index b22b5b411b0c..e1136ba2e7ed 100644 --- a/tests/run/backwardsCompat-implicitParens/Test_2.scala +++ b/tests/run/backwardsCompat-implicitParens/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + @main def Test = given Int = 1 given String = "x" diff --git a/tests/run/beans/Test_4.scala b/tests/run/beans/Test_4.scala index 807d91312b12..640bb6ad7b82 100644 --- a/tests/run/beans/Test_4.scala +++ b/tests/run/beans/Test_4.scala @@ -1,4 +1,6 @@ +// scalajs: --skip + object Test: def main(args: Array[String]) = val a = JavaTest().run() - println(a.mutableOneWithLongName) \ No newline at end of file + println(a.mutableOneWithLongName) diff --git a/tests/run/byname-param.scala b/tests/run/byname-param.scala index 9240604eb95d..5e7027562479 100644 --- a/tests/run/byname-param.scala +++ b/tests/run/byname-param.scala @@ -8,4 +8,7 @@ object Test { def main(args: Array[String]): Unit = { theTrap(true, println(1)) } + + def println(x: Any): Unit = + Predef.println(if (x == ()) "()" else x) // portable on Scala.js } diff --git a/tests/run/capturing.scala b/tests/run/capturing.scala index aaef60754639..1ac410c622d9 100644 --- a/tests/run/capturing.scala +++ b/tests/run/capturing.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class MT(sf: MT => String) { // `s` is retained as a field, but `sf` should not be. val s = sf(this) diff --git a/tests/run/case-class-serializable.scala b/tests/run/case-class-serializable.scala index abb68cdfa621..419cdbe10a20 100644 --- a/tests/run/case-class-serializable.scala +++ b/tests/run/case-class-serializable.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + case class Foo(s: String) object Test { diff --git a/tests/run/caseClassHash.check b/tests/run/caseClassHash.check index cf37fdb19f48..3b890650243f 100644 --- a/tests/run/caseClassHash.check +++ b/tests/run/caseClassHash.check @@ -1,5 +1,3 @@ -Foo(true,-1,-1,d,-5,-10,500.0,500.0,List(),5.0) -Foo(true,-1,-1,d,-5,-10,500.0,500.0,List(),5) 930449446 930449446 true diff --git a/tests/run/caseClassHash.scala b/tests/run/caseClassHash.scala index c5cb09c355d6..050365a76d30 100644 --- a/tests/run/caseClassHash.scala +++ b/tests/run/caseClassHash.scala @@ -7,7 +7,7 @@ object Test { val foo1 = mkFoo[Double](5.0d) val foo2 = mkFoo[Long](5l) - List(foo1, foo2, foo1.##, foo2.##, foo1 == foo2) foreach println + List(foo1.##, foo2.##, foo1 == foo2) foreach println println("## method 1: " + foo1.##) println("## method 2: " + foo2.##) diff --git a/tests/run/classof.scala b/tests/run/classof.scala index 734838b302e1..e815e9d74f74 100644 --- a/tests/run/classof.scala +++ b/tests/run/classof.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class ValueClass(val i: Integer) extends AnyVal class SomeClass diff --git a/tests/run/colltest1.scala b/tests/run/colltest1.scala index 4de99dbcd5dc..d3445a339b2c 100644 --- a/tests/run/colltest1.scala +++ b/tests/run/colltest1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + /* * filter: inliner warnings; re-run with */ diff --git a/tests/run/colltest5/CollectionTests_2.scala b/tests/run/colltest5/CollectionTests_2.scala index 9e2a55e8306a..5efcf897f5eb 100644 --- a/tests/run/colltest5/CollectionTests_2.scala +++ b/tests/run/colltest5/CollectionTests_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import Predef.{augmentString as _, wrapString as _, *} import scala.reflect.ClassTag diff --git a/tests/run/colltest6/CollectionTests_2.scala b/tests/run/colltest6/CollectionTests_2.scala index e41392842cf5..a3d21f947124 100644 --- a/tests/run/colltest6/CollectionTests_2.scala +++ b/tests/run/colltest6/CollectionTests_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import Predef.{augmentString as _, wrapString as _, intArrayOps as _, booleanArrayOps as _, genericArrayOps as _, refArrayOps as _, wrapIntArray as _, wrapBooleanArray as _, wrapRefArray as _, genericWrapArray as _, *} import scala.reflect.ClassTag diff --git a/tests/run/deadlock.scala b/tests/run/deadlock.scala index bc4a933dc238..93fb5f39bc91 100644 --- a/tests/run/deadlock.scala +++ b/tests/run/deadlock.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + // from https://github.com/rickynils/scalacheck/issues/290 import scala.concurrent.* import scala.concurrent.duration.* diff --git a/tests/run/decorators/Test.scala b/tests/run/decorators/Test.scala index 1d821d2109d2..2e316e4e8baf 100644 --- a/tests/run/decorators/Test.scala +++ b/tests/run/decorators/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test: def main(args: Array[String]) = def testAdd(args: String) = @@ -27,4 +29,4 @@ object Test: testAddAll("--nums 33 44") testAddAll("true 1 2 3") testAddAll("--help") -end Test \ No newline at end of file +end Test diff --git a/tests/run/decorators/sample-adapters.scala b/tests/run/decorators/sample-adapters.scala index 77622261d16e..580a961b034f 100644 --- a/tests/run/decorators/sample-adapters.scala +++ b/tests/run/decorators/sample-adapters.scala @@ -12,7 +12,10 @@ class logged extends EntryPoint.Adapter: case args: Unit => "()" case args => args.toString val result = op(args) - println(s"[log] ${finalWrapped.entryPointName}($argsString) -> $result") + val resultString: String = result match + case result: Unit => "()" + case _ => result.toString + println(s"[log] ${finalWrapped.entryPointName}($argsString) -> $resultString") result end LoggedWrapper end logged diff --git a/tests/run/defaults-serizaliable-with-forwarders.scala b/tests/run/defaults-serizaliable-with-forwarders.scala index b2762cf443bc..95088b55a094 100644 --- a/tests/run/defaults-serizaliable-with-forwarders.scala +++ b/tests/run/defaults-serizaliable-with-forwarders.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.{ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream, ObjectOutputStream} trait T1 extends Serializable { diff --git a/tests/run/dynamic-anyval.check b/tests/run/dynamic-anyval.check index dee7bef8e80f..5d19f1b7c97a 100644 --- a/tests/run/dynamic-anyval.check +++ b/tests/run/dynamic-anyval.check @@ -1,4 +1,4 @@ -().dingo(bippy, 5) +10.dingo(bippy, 5) List(1, 2, 3).dingo(bippy, 5) -().dingo(bippy, 5) +10.dingo(bippy, 5) List(1, 2, 3).dingo(bippy, 5) diff --git a/tests/run/dynamic-anyval.scala b/tests/run/dynamic-anyval.scala index 605503d3776d..fa316bb20196 100644 --- a/tests/run/dynamic-anyval.scala +++ b/tests/run/dynamic-anyval.scala @@ -14,9 +14,9 @@ object Test { def g[T](x: DynamicValue2[T]) = x.dingo("bippy", 5) def main(args: Array[String]): Unit = { - f(()) + f(10) f(List(1, 2, 3)) - g(()) + g(10) g(List(1, 2, 3)) } } diff --git a/tests/run/enum-efficient-collections.scala b/tests/run/enum-efficient-collections.scala index 01aeb97be014..02594c78a127 100644 --- a/tests/run/enum-efficient-collections.scala +++ b/tests/run/enum-efficient-collections.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + enum Day extends java.lang.Enum[Day] { case MONDAY, TUESDAY, SATURDAY, WEDNESDAY } diff --git a/tests/run/enum-java/Test.java b/tests/run/enum-java/Test.java index d58e3cc418b8..7932832182f6 100644 --- a/tests/run/enum-java/Test.java +++ b/tests/run/enum-java/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void log(String x) { System.out.println(x); } public static void check(Boolean p, String message) { diff --git a/tests/run/enum-values.scala b/tests/run/enum-values.scala index ecc356c12b90..41543e196561 100644 --- a/tests/run/enum-values.scala +++ b/tests/run/enum-values.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import reflect.Selectable.reflectiveSelectable import deriving.Mirror diff --git a/tests/run/enums-serialization-compat.scala b/tests/run/enums-serialization-compat.scala index 736b82074af3..032128d7f8a0 100644 --- a/tests/run/enums-serialization-compat.scala +++ b/tests/run/enums-serialization-compat.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.* import scala.util.Using diff --git a/tests/run/enums.scala b/tests/run/enums.scala index 1382533e9fda..dc17a3aa4771 100644 --- a/tests/run/enums.scala +++ b/tests/run/enums.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Enumerations //############################################################################ diff --git a/tests/run/erased-inline-vals.scala b/tests/run/erased-inline-vals.scala index 57e2901a62ea..00c9c8c168c7 100644 --- a/tests/run/erased-inline-vals.scala +++ b/tests/run/erased-inline-vals.scala @@ -1,3 +1,4 @@ +// scalajs: --skip abstract class A: def x: Int diff --git a/tests/run/exceptions-2.scala b/tests/run/exceptions-2.scala index 8d755c380969..ddb4c9c51ee1 100644 --- a/tests/run/exceptions-2.scala +++ b/tests/run/exceptions-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + /* * Try exception handling and finally blocks. */ diff --git a/tests/run/exceptions-nest.scala b/tests/run/exceptions-nest.scala index 4543faae6b35..2e58459fb9f7 100644 --- a/tests/run/exceptions-nest.scala +++ b/tests/run/exceptions-nest.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { println(test1) diff --git a/tests/run/forwarder-java-package-private/Test_2.scala b/tests/run/forwarder-java-package-private/Test_2.scala index 546356b07c56..f73d1b32c1b5 100644 --- a/tests/run/forwarder-java-package-private/Test_2.scala +++ b/tests/run/forwarder-java-package-private/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + package scalapackage: object Foo extends javapackage.Base_1 end scalapackage diff --git a/tests/run/forwarder.scala b/tests/run/forwarder.scala index 540acb76a58b..9d028c3da6d9 100644 --- a/tests/run/forwarder.scala +++ b/tests/run/forwarder.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo object Foo extends Bar diff --git a/tests/run/functionXXL.scala b/tests/run/functionXXL.scala index de8c8e3faedd..885e7bce8be9 100644 --- a/tests/run/functionXXL.scala +++ b/tests/run/functionXXL.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test { val f = (x1: Int, diff --git a/tests/run/future-flatmap-exec-count.scala b/tests/run/future-flatmap-exec-count.scala index a6c47ebfb876..45eeb541b18a 100644 --- a/tests/run/future-flatmap-exec-count.scala +++ b/tests/run/future-flatmap-exec-count.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.concurrent.* import java.util.concurrent.atomic.AtomicInteger diff --git a/tests/run/getclass.scala b/tests/run/getclass.scala index b74e1b20211d..d8a339f8ea5a 100644 --- a/tests/run/getclass.scala +++ b/tests/run/getclass.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class ValueClass(val i: Integer) extends AnyVal class SomeClass diff --git a/tests/run/hashhash.scala b/tests/run/hashhash.scala index 3b9d1479cff3..b375895ec028 100644 --- a/tests/run/hashhash.scala +++ b/tests/run/hashhash.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def confirmSame(x: Any) = assert(x.## == x.hashCode, "%s.## != %s.hashCode".format(x, x)) def confirmDifferent(x: Any) = assert(x.## != x.hashCode, "%s.## == %s.hashCode (but should not)".format(x, x)) diff --git a/tests/run/i10884/Test_2.scala b/tests/run/i10884/Test_2.scala index 84111522b2ca..526bf4523dbc 100644 --- a/tests/run/i10884/Test_2.scala +++ b/tests/run/i10884/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Exporter: export JavaExporter_1._ diff --git a/tests/run/i11114.scala b/tests/run/i11114.scala index c401e2b99869..1f8ac223d22e 100644 --- a/tests/run/i11114.scala +++ b/tests/run/i11114.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + @main def Test() = println((1, 1).getClass) println(Tuple2.apply(1, 1).getClass) diff --git a/tests/run/i11367.scala b/tests/run/i11367.scala index e88a9020dec4..a590813888ef 100644 --- a/tests/run/i11367.scala +++ b/tests/run/i11367.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait NoOuter: val outerFields = getClass.getDeclaredFields.filter(_.getName.contains("$outer")) if outerFields.nonEmpty then println(s"$getClass has outer fields") diff --git a/tests/run/i11486/Test_2.scala b/tests/run/i11486/Test_2.scala index 64e03dcd978b..9ac8eed5ffc4 100644 --- a/tests/run/i11486/Test_2.scala +++ b/tests/run/i11486/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Executable case class Tested(foo: Int, bar: String, baz: Double): diff --git a/tests/run/i12086/Test_3.scala b/tests/run/i12086/Test_3.scala index 818332073db2..d5711147a9cf 100644 --- a/tests/run/i12086/Test_3.scala +++ b/tests/run/i12086/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val c = new C diff --git a/tests/run/i12204/Test_3.scala b/tests/run/i12204/Test_3.scala index 51ec04559ca7..b9968332445f 100644 --- a/tests/run/i12204/Test_3.scala +++ b/tests/run/i12204/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { B_2.test() diff --git a/tests/run/i12753/Test.java b/tests/run/i12753/Test.java index 2a0bd9480b9c..87a8d92a2542 100644 --- a/tests/run/i12753/Test.java +++ b/tests/run/i12753/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void s(Object s) { System.out.println(s); diff --git a/tests/run/i12976.scala b/tests/run/i12976.scala index a14a18885f1e..377ec043d2a0 100644 --- a/tests/run/i12976.scala +++ b/tests/run/i12976.scala @@ -1,3 +1,4 @@ +// scalajs: --skip case class A(s: String) @@ -36,4 +37,4 @@ object Test { () // OK } -} \ No newline at end of file +} diff --git a/tests/run/i1387.scala b/tests/run/i1387.scala index fe6b3756e556..a7980294f8ed 100644 --- a/tests/run/i1387.scala +++ b/tests/run/i1387.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = diff --git a/tests/run/i14083.scala b/tests/run/i14083.scala index 4014e474ad45..61f9078ad71e 100644 --- a/tests/run/i14083.scala +++ b/tests/run/i14083.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Outer { class Inner } diff --git a/tests/run/i14198.scala b/tests/run/i14198.scala index 94ac07ee5d84..b22ad083dba7 100644 --- a/tests/run/i14198.scala +++ b/tests/run/i14198.scala @@ -1,3 +1,4 @@ +// scalajs: --skip import java.lang.ref.WeakReference import java.util.concurrent.atomic.AtomicReference diff --git a/tests/run/i1692.scala b/tests/run/i1692.scala index f7d69b38e2b4..09459a073d6e 100644 --- a/tests/run/i1692.scala +++ b/tests/run/i1692.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class VCInt(val x: Int) extends AnyVal class VCString(val x: String) extends AnyVal diff --git a/tests/run/i1692b.scala b/tests/run/i1692b.scala index b33f00df97bc..bd2108038ef4 100644 --- a/tests/run/i1692b.scala +++ b/tests/run/i1692b.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.threadUnsafe class VCInt(val x: Int) extends AnyVal diff --git a/tests/run/i2004.scala b/tests/run/i2004.scala index 8682423ef2f0..dd829ef24b5b 100644 --- a/tests/run/i2004.scala +++ b/tests/run/i2004.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test { def main(args: Array[String]) = { diff --git a/tests/run/i2275.scala b/tests/run/i2275.scala index 1cbabaab8501..5bed29b0359a 100644 --- a/tests/run/i2275.scala +++ b/tests/run/i2275.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { var count = 0 diff --git a/tests/run/i2738.scala b/tests/run/i2738.scala index 5439e9e53f37..d890145fb8b6 100644 --- a/tests/run/i2738.scala +++ b/tests/run/i2738.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/i2760/Test.scala b/tests/run/i2760/Test.scala index f2322b528f78..615fb611b545 100644 --- a/tests/run/i2760/Test.scala +++ b/tests/run/i2760/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + @Fork(value = 16) class HasFork object Test { diff --git a/tests/run/i2780/Test.scala b/tests/run/i2780/Test.scala index fefa9a3537f4..290cef2082d1 100644 --- a/tests/run/i2780/Test.scala +++ b/tests/run/i2780/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo extends bla.Base { class Inner { println(foo()) diff --git a/tests/run/i2883.scala b/tests/run/i2883.scala index 1a82d3344aed..114b4ec38c52 100644 --- a/tests/run/i2883.scala +++ b/tests/run/i2883.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Wrapper(val value: Int) abstract class Foo(val x: Int) diff --git a/tests/run/i3006.scala b/tests/run/i3006.scala index 7347bc800356..035b6a079755 100644 --- a/tests/run/i3006.scala +++ b/tests/run/i3006.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo { def foo() = { def f() = Thread.currentThread.getStackTrace.apply(1).getMethodName diff --git a/tests/run/i3006b.scala b/tests/run/i3006b.scala index 29aab964268b..6366027c6f6d 100644 --- a/tests/run/i3006b.scala +++ b/tests/run/i3006b.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo(val x: String) { def this() = this({ diff --git a/tests/run/i3340.check b/tests/run/i3340.check index bcb629b9186a..8bd3abfd141d 100644 --- a/tests/run/i3340.check +++ b/tests/run/i3340.check @@ -1,7 +1,7 @@ -Test$.f1(i3340.scala:13) -Test$.f2(i3340.scala:17) -Test$.f3(i3340.scala:21) -Test$.f4(i3340.scala:28) -Test$.f5(i3340.scala:35) +Test$.f1(i3340.scala:15) +Test$.f2(i3340.scala:19) +Test$.f3(i3340.scala:23) +Test$.f4(i3340.scala:30) +Test$.f5(i3340.scala:37) foo -Test$.f6(i3340.scala:42) +Test$.f6(i3340.scala:44) diff --git a/tests/run/i3340.scala b/tests/run/i3340.scala index 328305cf03ae..089f58377497 100644 --- a/tests/run/i3340.scala +++ b/tests/run/i3340.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { printlnStackLine(f1) diff --git a/tests/run/i4192/Test.scala b/tests/run/i4192/Test.scala index 1e2cb0b83700..c4f198bf644f 100644 --- a/tests/run/i4192/Test.scala +++ b/tests/run/i4192/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { foo.bar.Checks.run() diff --git a/tests/run/i4404a.scala b/tests/run/i4404a.scala index 41d5e7064714..dfb2469d77eb 100644 --- a/tests/run/i4404a.scala +++ b/tests/run/i4404a.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Modifier class Car diff --git a/tests/run/i4404b.scala b/tests/run/i4404b.scala index cf9653692b86..849ecf47c532 100644 --- a/tests/run/i4404b.scala +++ b/tests/run/i4404b.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Modifier object Test { diff --git a/tests/run/i4404c.scala b/tests/run/i4404c.scala index 29d504d57bce..2e0dd0131066 100644 --- a/tests/run/i4404c.scala +++ b/tests/run/i4404c.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Modifier trait T { diff --git a/tests/run/i4446.scala b/tests/run/i4446.scala index 2eb6253105b2..4ffcf9b8279e 100644 --- a/tests/run/i4446.scala +++ b/tests/run/i4446.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo { def foo: PartialFunction[Int, Int] = { case x => x + 1 } } diff --git a/tests/run/i4523.scala b/tests/run/i4523.scala index 478c94ac8391..125989c9a19a 100644 --- a/tests/run/i4523.scala +++ b/tests/run/i4523.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class C { inline def one = 1 def foo = { diff --git a/tests/run/i4659b.scala b/tests/run/i4659b.scala index 34f71c7d7490..44ef27f49444 100644 --- a/tests/run/i4659b.scala +++ b/tests/run/i4659b.scala @@ -1,3 +1,5 @@ +// scalajs: --compliant-semantics + case class SourcePosition(outer: SourcePosition = (NoSourcePosition: SourcePosition)) // The code should not compile -- currently out of reach @@ -5,4 +7,4 @@ object NoSourcePosition extends SourcePosition() object Test extends App { assert(NoSourcePosition.outer == null) -} \ No newline at end of file +} diff --git a/tests/run/i4866.scala b/tests/run/i4866.scala index 8e131e76df91..092770fb21cd 100644 --- a/tests/run/i4866.scala +++ b/tests/run/i4866.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + // Test that try-finally aren't lifted, but try-catch are. class Foo { diff --git a/tests/run/i4947.check b/tests/run/i4947.check index 35c8075066c3..94581b292c8d 100644 --- a/tests/run/i4947.check +++ b/tests/run/i4947.check @@ -1,4 +1,4 @@ -track: Test$.main(i4947.scala:4) -track: Test$.main(i4947.scala:5) -main1: Test$.main(i4947.scala:15) -main2: Test$.main(i4947.scala:16) +track: Test$.main(i4947.scala:6) +track: Test$.main(i4947.scala:7) +main1: Test$.main(i4947.scala:17) +main2: Test$.main(i4947.scala:18) diff --git a/tests/run/i4947.scala b/tests/run/i4947.scala index fcae2fb0d58a..faf49f640b3c 100644 --- a/tests/run/i4947.scala +++ b/tests/run/i4947.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { inline def track[T](inline f: T): T = { diff --git a/tests/run/i4947a2.check b/tests/run/i4947a2.check index 89bc9c7f299b..4e89cda9a4a6 100644 --- a/tests/run/i4947a2.check +++ b/tests/run/i4947a2.check @@ -1,14 +1,14 @@ -track (i = 0): Test$.main(i4947a2.scala:4) -track (i = 0): Test$.main(i4947a2.scala:5) -track (i = 2): Test$.main(i4947a2.scala:4) -track (i = 2): Test$.main(i4947a2.scala:5) -main1 (i = -1): Test$.main(i4947a2.scala:21) -main2 (i = -1): Test$.main(i4947a2.scala:22) -track (i = 1): Test$.main(i4947a2.scala:4) -track (i = 1): Test$.main(i4947a2.scala:5) -main1 (i = -1): Test$.main(i4947a2.scala:21) -main2 (i = -1): Test$.main(i4947a2.scala:22) -track (i = 0): Test$.main(i4947a2.scala:4) -track (i = 0): Test$.main(i4947a2.scala:5) -main1 (i = -1): Test$.main(i4947a2.scala:21) -main2 (i = -1): Test$.main(i4947a2.scala:22) +track (i = 0): Test$.main(i4947a2.scala:6) +track (i = 0): Test$.main(i4947a2.scala:7) +track (i = 2): Test$.main(i4947a2.scala:6) +track (i = 2): Test$.main(i4947a2.scala:7) +main1 (i = -1): Test$.main(i4947a2.scala:23) +main2 (i = -1): Test$.main(i4947a2.scala:24) +track (i = 1): Test$.main(i4947a2.scala:6) +track (i = 1): Test$.main(i4947a2.scala:7) +main1 (i = -1): Test$.main(i4947a2.scala:23) +main2 (i = -1): Test$.main(i4947a2.scala:24) +track (i = 0): Test$.main(i4947a2.scala:6) +track (i = 0): Test$.main(i4947a2.scala:7) +main1 (i = -1): Test$.main(i4947a2.scala:23) +main2 (i = -1): Test$.main(i4947a2.scala:24) diff --git a/tests/run/i4947a2.scala b/tests/run/i4947a2.scala index e07fb8326ecd..248bc39e9b1b 100644 --- a/tests/run/i4947a2.scala +++ b/tests/run/i4947a2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { inline def fact[T](inline i: Int)(inline f: T): Int = { diff --git a/tests/run/i4947b.check b/tests/run/i4947b.check index 183c31bdfc5d..3950d4e0b7a1 100644 --- a/tests/run/i4947b.check +++ b/tests/run/i4947b.check @@ -1,36 +1,36 @@ -track: Test$.main(Test_2.scala:3) -track: Test$.main(Test_2.scala:3) -main1: Test$.main(Test_2.scala:4) -main2: Test$.main(Test_2.scala:5) -track: Test$.main(Test_2.scala:7) -track: Test$.main(Test_2.scala:7) -track: Test$.main(Test_2.scala:8) -track: Test$.main(Test_2.scala:8) -main3: Test$.main(Test_2.scala:9) -main4: Test$.main(Test_2.scala:10) -track (i = 0): Test$.main(Test_2.scala:13) -track (i = 0): Test$.main(Test_2.scala:13) -track: Test$.main(Test_2.scala:13) -track: Test$.main(Test_2.scala:13) -fact: Test$.main(Test_2.scala:13) -track (i = 2): Test$.main(Test_2.scala:14) -track (i = 2): Test$.main(Test_2.scala:14) -track: Test$.main(Test_2.scala:14) -track: Test$.main(Test_2.scala:14) -fact: Test$.main(Test_2.scala:14) -main1 (i = -1): Test$.main(Test_2.scala:15) -main2 (i = -1): Test$.main(Test_2.scala:16) -track (i = 1): Test$.main(Test_2.scala:14) -track (i = 1): Test$.main(Test_2.scala:14) -track: Test$.main(Test_2.scala:14) -track: Test$.main(Test_2.scala:14) -fact: Test$.main(Test_2.scala:14) -main1 (i = -1): Test$.main(Test_2.scala:15) -main2 (i = -1): Test$.main(Test_2.scala:16) -track (i = 0): Test$.main(Test_2.scala:14) -track (i = 0): Test$.main(Test_2.scala:14) -track: Test$.main(Test_2.scala:14) -track: Test$.main(Test_2.scala:14) -fact: Test$.main(Test_2.scala:14) -main1 (i = -1): Test$.main(Test_2.scala:15) -main2 (i = -1): Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:5) +track: Test$.main(Test_2.scala:5) +main1: Test$.main(Test_2.scala:6) +main2: Test$.main(Test_2.scala:7) +track: Test$.main(Test_2.scala:9) +track: Test$.main(Test_2.scala:9) +track: Test$.main(Test_2.scala:10) +track: Test$.main(Test_2.scala:10) +main3: Test$.main(Test_2.scala:11) +main4: Test$.main(Test_2.scala:12) +track (i = 0): Test$.main(Test_2.scala:15) +track (i = 0): Test$.main(Test_2.scala:15) +track: Test$.main(Test_2.scala:15) +track: Test$.main(Test_2.scala:15) +fact: Test$.main(Test_2.scala:15) +track (i = 2): Test$.main(Test_2.scala:16) +track (i = 2): Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:16) +fact: Test$.main(Test_2.scala:16) +main1 (i = -1): Test$.main(Test_2.scala:17) +main2 (i = -1): Test$.main(Test_2.scala:18) +track (i = 1): Test$.main(Test_2.scala:16) +track (i = 1): Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:16) +fact: Test$.main(Test_2.scala:16) +main1 (i = -1): Test$.main(Test_2.scala:17) +main2 (i = -1): Test$.main(Test_2.scala:18) +track (i = 0): Test$.main(Test_2.scala:16) +track (i = 0): Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:16) +track: Test$.main(Test_2.scala:16) +fact: Test$.main(Test_2.scala:16) +main1 (i = -1): Test$.main(Test_2.scala:17) +main2 (i = -1): Test$.main(Test_2.scala:18) diff --git a/tests/run/i4947b/Test_2.scala b/tests/run/i4947b/Test_2.scala index 2ca1cf2e77f1..2fcada89fd0d 100644 --- a/tests/run/i4947b/Test_2.scala +++ b/tests/run/i4947b/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { Lib.track { diff --git a/tests/run/i4947c.check b/tests/run/i4947c.check index 56a401547ae3..a3a6a5fa2575 100644 --- a/tests/run/i4947c.check +++ b/tests/run/i4947c.check @@ -1,4 +1,4 @@ -track: Test$.main(i4947c.scala:4) -track: Test$.main(i4947c.scala:5) -main1: Test$.main(i4947c.scala:18) -main2: Test$.main(i4947c.scala:19) +track: Test$.main(i4947c.scala:6) +track: Test$.main(i4947c.scala:7) +main1: Test$.main(i4947c.scala:20) +main2: Test$.main(i4947c.scala:21) diff --git a/tests/run/i4947c.scala b/tests/run/i4947c.scala index 064db6647f8a..28ce0d74c89c 100644 --- a/tests/run/i4947c.scala +++ b/tests/run/i4947c.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Foo { inline def track[T](inline f: T): T = { diff --git a/tests/run/i502.scala b/tests/run/i502.scala index eec04d85df35..71176d9660cd 100644 --- a/tests/run/i502.scala +++ b/tests/run/i502.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.reflect.ClassTag object Test extends App { diff --git a/tests/run/i533/Test.scala b/tests/run/i533/Test.scala index a05a438c81a0..115b80ebbb6f 100644 --- a/tests/run/i533/Test.scala +++ b/tests/run/i533/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val x = new Array[Integer](1) diff --git a/tests/run/i5441.check b/tests/run/i5441.check index d5761e30a2e3..55a971240d74 100644 --- a/tests/run/i5441.check +++ b/tests/run/i5441.check @@ -1,3 +1,3 @@ -1.164309 -1.164309 -2.3242621 +1.164309024810791 +1.164309024810791 +2.3242621421813965 diff --git a/tests/run/i5441.scala b/tests/run/i5441.scala index c3183bf2a675..ad4dd3c10d5c 100644 --- a/tests/run/i5441.scala +++ b/tests/run/i5441.scala @@ -5,4 +5,7 @@ object Test { println(b() % a()) println((b().toFloat % a().toFloat).toFloat) println((b().toDouble % a().toDouble).toFloat) + + def println(x: Float): Unit = + Console.println(x.toDouble) // portable on Scala.js } diff --git a/tests/run/i5924b.scala b/tests/run/i5924b.scala index 9d76a53a1da5..75615187a98e 100644 --- a/tests/run/i5924b.scala +++ b/tests/run/i5924b.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.annotation.static trait Base diff --git a/tests/run/i5924c.scala b/tests/run/i5924c.scala index c86076d7e4e8..afe0d83c917a 100644 --- a/tests/run/i5924c.scala +++ b/tests/run/i5924c.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.annotation.static class Base diff --git a/tests/run/i6219.scala b/tests/run/i6219.scala index df6869ae80b0..9af3b684c46e 100644 --- a/tests/run/i6219.scala +++ b/tests/run/i6219.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test { def main(args: Array[String]): Unit = { assert(s"hello ${} world" == "hello () world") diff --git a/tests/run/i6834.scala b/tests/run/i6834.scala index b01de4b15b16..44fc7f49a302 100644 --- a/tests/run/i6834.scala +++ b/tests/run/i6834.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Foo object Test { def main(args: Array[String]) = diff --git a/tests/run/i7212/Test.java b/tests/run/i7212/Test.java index e2d21bd76dfd..d85b9ea220ad 100644 --- a/tests/run/i7212/Test.java +++ b/tests/run/i7212/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void main(String[] args) { CompatVargs c = new CompatVargs(); diff --git a/tests/run/i7359.scala b/tests/run/i7359.scala index c01b9d05f274..69c50adf95da 100644 --- a/tests/run/i7359.scala +++ b/tests/run/i7359.scala @@ -44,3 +44,6 @@ object Test: println(samInvariantExtends.first("i")) println(samInOutExtends.first(10)) println(samWithCustomAliases.first()) + + def println(x: Any): Unit = + Console.println(if x == () then "()" else x.toString) // portable on Scala.js diff --git a/tests/run/i7843.scala b/tests/run/i7843.scala index 12bcbe4bf868..2482ca24e01d 100644 --- a/tests/run/i7843.scala +++ b/tests/run/i7843.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.concurrent._, duration.* object Test { diff --git a/tests/run/i7960.scala b/tests/run/i7960.scala index 423b6111d8b1..04550ee063f8 100644 --- a/tests/run/i7960.scala +++ b/tests/run/i7960.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.duration.* import scala.concurrent.{Await, Future} diff --git a/tests/run/i7990/Test_2.scala b/tests/run/i7990/Test_2.scala index baca4b8c4066..28a72f4505ac 100644 --- a/tests/run/i7990/Test_2.scala +++ b/tests/run/i7990/Test_2.scala @@ -1 +1,3 @@ +// scalajs: --skip + @main def Test = Exception_1("error") diff --git a/tests/run/i8001/Test_3.scala b/tests/run/i8001/Test_3.scala index b397d63ff166..287cf716cfdb 100644 --- a/tests/run/i8001/Test_3.scala +++ b/tests/run/i8001/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = B_2.test() diff --git a/tests/run/i8033.scala b/tests/run/i8033.scala index 2452415752c9..f742162ffe7a 100644 --- a/tests/run/i8033.scala +++ b/tests/run/i8033.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait Okay extends Serializable { def okay: Okay } diff --git a/tests/run/i8101/Test.scala b/tests/run/i8101/Test.scala index 8ac8bf705ad2..179271bffaf2 100644 --- a/tests/run/i8101/Test.scala +++ b/tests/run/i8101/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Bar extends JavaFoo with Foo { def read(): Int = ??? } diff --git a/tests/run/i8531/Test.scala b/tests/run/i8531/Test.scala index 918f6f2a41d2..e5eea9a4cb88 100644 --- a/tests/run/i8531/Test.scala +++ b/tests/run/i8531/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo(@Named s: String) object Test { diff --git a/tests/run/i8599/Test_3.scala b/tests/run/i8599/Test_3.scala index 144d2126667d..cbd4e591e818 100644 --- a/tests/run/i8599/Test_3.scala +++ b/tests/run/i8599/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = val obj = new JavaClass_2 diff --git a/tests/run/i8602/Test_3.scala b/tests/run/i8602/Test_3.scala index 7b1797f8e586..07eeed5a7b0f 100644 --- a/tests/run/i8602/Test_3.scala +++ b/tests/run/i8602/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = val child = new ChildClass_2() diff --git a/tests/run/i8661/Test.scala b/tests/run/i8661/Test.scala index eaf9bc1e8aa7..21ee287263ec 100644 --- a/tests/run/i8661/Test.scala +++ b/tests/run/i8661/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import pk.C object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/i9132.scala b/tests/run/i9132.scala index 75cc71aee1a7..9b10fb87804b 100644 --- a/tests/run/i9132.scala +++ b/tests/run/i9132.scala @@ -1,4 +1,10 @@ @main def Test = scala.collection.mutable.ArrayBuilder.make[Unit] += () - Console.println () - Console println () + Portable.println () + Portable println () + +object Portable: + def println(x: Any): Unit = + Console.println(if x == () then "()" else x.toString) // portable on Scala.js + def println(): Unit = + Console.println() diff --git a/tests/run/i9155.scala b/tests/run/i9155.scala index 2f5bf086c8eb..39717581d31e 100644 --- a/tests/run/i9155.scala +++ b/tests/run/i9155.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Foo: @scala.annotation.targetName("w") def \/\/ = "W" diff --git a/tests/run/i9881.scala b/tests/run/i9881.scala index a172bcf8e2ec..802298550424 100644 --- a/tests/run/i9881.scala +++ b/tests/run/i9881.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.* class Config(s: String) diff --git a/tests/run/i9939.scala b/tests/run/i9939.scala index 84ae5c2723c8..bab3b3ff3bb0 100644 --- a/tests/run/i9939.scala +++ b/tests/run/i9939.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + def nonHarmonized[A >: Any](args: A*): String = args.mkString("[", ", ", "]") def harmonized[A >: Any](args: A*): List[A] = args.toList diff --git a/tests/run/impconvtimes.check b/tests/run/impconvtimes.check index f08574de3e00..75c5d8098d93 100644 --- a/tests/run/impconvtimes.check +++ b/tests/run/impconvtimes.check @@ -1 +1 @@ -3.0 * Hour = Measure(3.0,Hour) +3.5 * Hour = Measure(3.5,Hour) diff --git a/tests/run/impconvtimes.scala b/tests/run/impconvtimes.scala index 0dbbf7bca4c2..11a43b37902a 100644 --- a/tests/run/impconvtimes.scala +++ b/tests/run/impconvtimes.scala @@ -14,6 +14,6 @@ object Test { def main(args: Array[String]): scala.Unit = { - Console.println("3.0 * Hour = " + (3.0 * Hour)) + Console.println("3.5 * Hour = " + (3.5 * Hour)) } } diff --git a/tests/run/implicitFunctionXXL.scala b/tests/run/implicitFunctionXXL.scala index b4131080577d..fcae9c135cda 100644 --- a/tests/run/implicitFunctionXXL.scala +++ b/tests/run/implicitFunctionXXL.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/implicitFuns.scala b/tests/run/implicitFuns.scala index d505eeea0d7a..5e56292ae6fd 100644 --- a/tests/run/implicitFuns.scala +++ b/tests/run/implicitFuns.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/imports.scala b/tests/run/imports.scala index adc173c6af62..0ad41449d7de 100644 --- a/tests/run/imports.scala +++ b/tests/run/imports.scala @@ -7,11 +7,9 @@ object checker { def check(location: String, what: String, value: Any): Unit = { Console.print("In " + location + ", " + what + ".toString() returns "); - Console.flush(); val string: String = if (value == null) "null" else value.toString(); val test = if (string == location) "ok" else "KO"; Console.println(string + " -> " + test); - Console.flush(); } } diff --git a/tests/run/inlineAddDeserializeLambda.scala b/tests/run/inlineAddDeserializeLambda.scala index 40961ff9779b..4280dea602b2 100644 --- a/tests/run/inlineAddDeserializeLambda.scala +++ b/tests/run/inlineAddDeserializeLambda.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class C { inline final def f: Int => Int = (x: Int) => x + 1 } object Test extends App { diff --git a/tests/run/interpolation-opt.check b/tests/run/interpolation-opt.check index 1330eb8ac2e7..aa1da4110083 100644 --- a/tests/run/interpolation-opt.check +++ b/tests/run/interpolation-opt.check @@ -1,8 +1,8 @@ -1 plus two\nis 3.0 +1 plus two\nis 3.5 1 plus two -is 3.0 -a1two3.0b -a1two3.0b +is 3.5 +a1two3.5b +a1two3.5b Hello World diff --git a/tests/run/interpolation-opt.scala b/tests/run/interpolation-opt.scala index e7ff07ec61ac..f589a6056ad5 100644 --- a/tests/run/interpolation-opt.scala +++ b/tests/run/interpolation-opt.scala @@ -2,15 +2,15 @@ object Test extends App { val one = 1 val two = "two" - val three = 3.0 + val threeHalf = 3.5 // Test escaping - println(raw"$one plus $two\nis $three") - println(s"$one plus $two\nis $three") + println(raw"$one plus $two\nis $threeHalf") + println(s"$one plus $two\nis $threeHalf") // Test empty strings between elements - println(raw"a$one$two${three}b") - println(s"a$one$two${three}b") + println(raw"a$one$two${threeHalf}b") + println(s"a$one$two${threeHalf}b") // Test empty string interpolators println(raw"") diff --git a/tests/run/is-valid-num.scala b/tests/run/is-valid-num.scala index 5a4a0503da59..cc37803d5888 100644 --- a/tests/run/is-valid-num.scala +++ b/tests/run/is-valid-num.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + /* * filter: inliner warnings; re-run with -Yinline-warnings for details */ diff --git a/tests/run/java-annot-params/Test_1.scala b/tests/run/java-annot-params/Test_1.scala index 00ee08b3c623..36201691d382 100644 --- a/tests/run/java-annot-params/Test_1.scala +++ b/tests/run/java-annot-params/Test_1.scala @@ -1,5 +1,7 @@ +// scalajs: --skip + object Test: def main(args: Array[String]): Unit = annots.runTest(classOf[annots.Use_0]) println() - annots.runTest(classOf[annots.Use_1]) \ No newline at end of file + annots.runTest(classOf[annots.Use_1]) diff --git a/tests/run/java-intersection/Test_2.scala b/tests/run/java-intersection/Test_2.scala index a3d7b11fce12..2e9ab1296e15 100644 --- a/tests/run/java-intersection/Test_2.scala +++ b/tests/run/java-intersection/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.Serializable class Sub extends A_1 { diff --git a/tests/run/java-longnames/Test_2.scala b/tests/run/java-longnames/Test_2.scala index b03954825173..556a800cba54 100644 --- a/tests/run/java-longnames/Test_2.scala +++ b/tests/run/java-longnames/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import p._ object Test extends App { diff --git a/tests/run/java-no-scala-import/Test.scala b/tests/run/java-no-scala-import/Test.scala index cdc46d2b3e0e..cf8a2249a404 100644 --- a/tests/run/java-no-scala-import/Test.scala +++ b/tests/run/java-no-scala-import/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { val c = new Config() c.setLongObj(10) diff --git a/tests/run/java-varargs-2/Test.scala b/tests/run/java-varargs-2/Test.scala index 21087f82eb77..0277146ec24c 100644 --- a/tests/run/java-varargs-2/Test.scala +++ b/tests/run/java-varargs-2/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { A.foo(1) diff --git a/tests/run/java-varargs-3/Test.scala b/tests/run/java-varargs-3/Test.scala index 4c00e491a6ad..884801d21805 100644 --- a/tests/run/java-varargs-3/Test.scala +++ b/tests/run/java-varargs-3/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val ai = new A[Int] diff --git a/tests/run/java-varargs/Test_2.scala b/tests/run/java-varargs/Test_2.scala index 11bab5b39ac7..912470ed8f19 100644 --- a/tests/run/java-varargs/Test_2.scala +++ b/tests/run/java-varargs/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { A_1.foo(1) diff --git a/tests/run/java-vc-overload/Test_3.scala b/tests/run/java-vc-overload/Test_3.scala index 34669f91f7f8..7993d00f16ea 100644 --- a/tests/run/java-vc-overload/Test_3.scala +++ b/tests/run/java-vc-overload/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val a = new A_2 diff --git a/tests/run/junitForwarders/Test.java b/tests/run/junitForwarders/Test.java index 57c4d5b544d8..450b38401494 100644 --- a/tests/run/junitForwarders/Test.java +++ b/tests/run/junitForwarders/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + package org.junit; import java.lang.annotation.ElementType; diff --git a/tests/run/lambda-serialization-gc.scala b/tests/run/lambda-serialization-gc.scala index 48e9f8315935..6f5be126fa78 100644 --- a/tests/run/lambda-serialization-gc.scala +++ b/tests/run/lambda-serialization-gc.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.* import java.net.URLClassLoader diff --git a/tests/run/lambda-serialization-security.scala b/tests/run/lambda-serialization-security.scala index 08e235b1cb9b..a72afbc38528 100644 --- a/tests/run/lambda-serialization-security.scala +++ b/tests/run/lambda-serialization-security.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.{ByteArrayInputStream, ObjectInputStream, ObjectOutputStream, ByteArrayOutputStream} trait IntToString extends java.io.Serializable { def apply(i: Int): String } diff --git a/tests/run/lambda-serialization.scala b/tests/run/lambda-serialization.scala index e1419c5ff394..d226c72ca254 100644 --- a/tests/run/lambda-serialization.scala +++ b/tests/run/lambda-serialization.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.{ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream, ObjectOutputStream, PrintWriter, StringWriter} import java.lang.invoke.{MethodHandleInfo, SerializedLambda} diff --git a/tests/run/lazy-impl.scala b/tests/run/lazy-impl.scala index 70d2c02da3c4..c3e14be10b80 100644 --- a/tests/run/lazy-impl.scala +++ b/tests/run/lazy-impl.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + /** A demonstrator for a new algorithm to handle lazy vals. The idea is that * we use the field slot itself for all synchronization; there are no separate bitmaps * or locks. The type of a field is always Object. The field goes through the following diff --git a/tests/run/main-annotation-birthday.scala b/tests/run/main-annotation-birthday.scala index 92aacb6ffe0b..563bb2628e62 100644 --- a/tests/run/main-annotation-birthday.scala +++ b/tests/run/main-annotation-birthday.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain /** diff --git a/tests/run/main-annotation-dash-dash.scala b/tests/run/main-annotation-dash-dash.scala index e33204ce51d8..bf4a1a4e238c 100644 --- a/tests/run/main-annotation-dash-dash.scala +++ b/tests/run/main-annotation-dash-dash.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain object myProgram: diff --git a/tests/run/main-annotation-default-value-1.scala b/tests/run/main-annotation-default-value-1.scala index f0495a56bb7a..40888c947bb6 100644 --- a/tests/run/main-annotation-default-value-1.scala +++ b/tests/run/main-annotation-default-value-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-default-value-2.scala b/tests/run/main-annotation-default-value-2.scala index dc5736117c57..76ee1bb5cc9f 100644 --- a/tests/run/main-annotation-default-value-2.scala +++ b/tests/run/main-annotation-default-value-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-example.scala b/tests/run/main-annotation-example.scala index 954278d6b26f..478ab6baeb4b 100644 --- a/tests/run/main-annotation-example.scala +++ b/tests/run/main-annotation-example.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.* import collection.mutable import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-flags.scala b/tests/run/main-annotation-flags.scala index cd95e88cab48..7e502585489d 100644 --- a/tests/run/main-annotation-flags.scala +++ b/tests/run/main-annotation-flags.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-help-override.scala b/tests/run/main-annotation-help-override.scala index 40b793c7b839..d174e13ac891 100644 --- a/tests/run/main-annotation-help-override.scala +++ b/tests/run/main-annotation-help-override.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.annotation.newMain.alias import scala.util.Try diff --git a/tests/run/main-annotation-help.scala b/tests/run/main-annotation-help.scala index 551bbf67d30b..e7fdf7c362de 100644 --- a/tests/run/main-annotation-help.scala +++ b/tests/run/main-annotation-help.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-annot-1.scala b/tests/run/main-annotation-homemade-annot-1.scala index daf27b944d99..3caa2c7e6b00 100644 --- a/tests/run/main-annotation-homemade-annot-1.scala +++ b/tests/run/main-annotation-homemade-annot-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.concurrent._ import scala.annotation.* import scala.collection.mutable diff --git a/tests/run/main-annotation-homemade-annot-2.scala b/tests/run/main-annotation-homemade-annot-2.scala index 3cee9151282d..a131aa336d47 100644 --- a/tests/run/main-annotation-homemade-annot-2.scala +++ b/tests/run/main-annotation-homemade-annot-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.collection.mutable import scala.annotation.* import util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-annot-3.scala b/tests/run/main-annotation-homemade-annot-3.scala index 3fc42abcce79..d024ba300665 100644 --- a/tests/run/main-annotation-homemade-annot-3.scala +++ b/tests/run/main-annotation-homemade-annot-3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.* import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-annot-4.scala b/tests/run/main-annotation-homemade-annot-4.scala index 0dbd006ee5b1..b4ea510aa677 100644 --- a/tests/run/main-annotation-homemade-annot-4.scala +++ b/tests/run/main-annotation-homemade-annot-4.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.* import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-annot-5.scala b/tests/run/main-annotation-homemade-annot-5.scala index d61cd55eb852..fc5e34e41d6c 100644 --- a/tests/run/main-annotation-homemade-annot-5.scala +++ b/tests/run/main-annotation-homemade-annot-5.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.* import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-annot-6.scala b/tests/run/main-annotation-homemade-annot-6.scala index 9ba0b31fc689..39d258803901 100644 --- a/tests/run/main-annotation-homemade-annot-6.scala +++ b/tests/run/main-annotation-homemade-annot-6.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.* /** Foo docs */ diff --git a/tests/run/main-annotation-homemade-parser-1.scala b/tests/run/main-annotation-homemade-parser-1.scala index b4d095dcceb2..be2adc4a5f72 100644 --- a/tests/run/main-annotation-homemade-parser-1.scala +++ b/tests/run/main-annotation-homemade-parser-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-parser-2.scala b/tests/run/main-annotation-homemade-parser-2.scala index d7aeaaac8762..1a51400d9f37 100644 --- a/tests/run/main-annotation-homemade-parser-2.scala +++ b/tests/run/main-annotation-homemade-parser-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-parser-3.scala b/tests/run/main-annotation-homemade-parser-3.scala index 37ef32e6a0ee..1e5a4c0dae00 100644 --- a/tests/run/main-annotation-homemade-parser-3.scala +++ b/tests/run/main-annotation-homemade-parser-3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-parser-4.scala b/tests/run/main-annotation-homemade-parser-4.scala index d7efc84ab424..fc087354c16e 100644 --- a/tests/run/main-annotation-homemade-parser-4.scala +++ b/tests/run/main-annotation-homemade-parser-4.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-homemade-parser-5.scala b/tests/run/main-annotation-homemade-parser-5.scala index 77823ac8cba0..f7443f34cab3 100644 --- a/tests/run/main-annotation-homemade-parser-5.scala +++ b/tests/run/main-annotation-homemade-parser-5.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-multiple.scala b/tests/run/main-annotation-multiple.scala index 4177a97e98f3..62a5fa04cc18 100644 --- a/tests/run/main-annotation-multiple.scala +++ b/tests/run/main-annotation-multiple.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-named-params.scala b/tests/run/main-annotation-named-params.scala index 9fa6f6677890..8d677d65978d 100644 --- a/tests/run/main-annotation-named-params.scala +++ b/tests/run/main-annotation-named-params.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-newMain.scala b/tests/run/main-annotation-newMain.scala index 9e85d5f948cc..a28e9d2ab96a 100644 --- a/tests/run/main-annotation-newMain.scala +++ b/tests/run/main-annotation-newMain.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.* import collection.mutable import scala.util.CommandLineParser.FromString diff --git a/tests/run/main-annotation-no-parameters-no-parens.scala b/tests/run/main-annotation-no-parameters-no-parens.scala index ca0e32877bc1..7ba87c82c745 100644 --- a/tests/run/main-annotation-no-parameters-no-parens.scala +++ b/tests/run/main-annotation-no-parameters-no-parens.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-no-parameters.scala b/tests/run/main-annotation-no-parameters.scala index eb30ac6148ca..951254f07bf7 100644 --- a/tests/run/main-annotation-no-parameters.scala +++ b/tests/run/main-annotation-no-parameters.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-overload.scala b/tests/run/main-annotation-overload.scala index 85a06dc23a0c..939f2044f227 100644 --- a/tests/run/main-annotation-overload.scala +++ b/tests/run/main-annotation-overload.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-param-annot-1.scala b/tests/run/main-annotation-param-annot-1.scala index 26b4b7f62a13..d16e4fac8848 100644 --- a/tests/run/main-annotation-param-annot-1.scala +++ b/tests/run/main-annotation-param-annot-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.annotation.newMain.alias diff --git a/tests/run/main-annotation-param-annot-2.scala b/tests/run/main-annotation-param-annot-2.scala index ce3b00fe8ed1..0ee99038910a 100644 --- a/tests/run/main-annotation-param-annot-2.scala +++ b/tests/run/main-annotation-param-annot-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.annotation.newMain.alias diff --git a/tests/run/main-annotation-param-annot-invalid-params.scala b/tests/run/main-annotation-param-annot-invalid-params.scala index 3eeb7b55a2ae..076c7ff80750 100644 --- a/tests/run/main-annotation-param-annot-invalid-params.scala +++ b/tests/run/main-annotation-param-annot-invalid-params.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain import scala.annotation.newMain.alias diff --git a/tests/run/main-annotation-return-type-1.scala b/tests/run/main-annotation-return-type-1.scala index 5dfdd76047bb..641786661613 100644 --- a/tests/run/main-annotation-return-type-1.scala +++ b/tests/run/main-annotation-return-type-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-return-type-2.scala b/tests/run/main-annotation-return-type-2.scala index 7bb75da1a227..986c1f0eae94 100644 --- a/tests/run/main-annotation-return-type-2.scala +++ b/tests/run/main-annotation-return-type-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain class MyResult(val result: Int): diff --git a/tests/run/main-annotation-short-name.scala b/tests/run/main-annotation-short-name.scala index 2123acb4f882..72e37acdce5c 100644 --- a/tests/run/main-annotation-short-name.scala +++ b/tests/run/main-annotation-short-name.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain object myProgram: diff --git a/tests/run/main-annotation-simple.scala b/tests/run/main-annotation-simple.scala index 78f8927d924f..47407c85e36c 100644 --- a/tests/run/main-annotation-simple.scala +++ b/tests/run/main-annotation-simple.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain object myProgram: diff --git a/tests/run/main-annotation-top-level.scala b/tests/run/main-annotation-top-level.scala index c3c1dd79042f..52ca42205d9e 100644 --- a/tests/run/main-annotation-top-level.scala +++ b/tests/run/main-annotation-top-level.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain /** Adds two numbers */ diff --git a/tests/run/main-annotation-types.scala b/tests/run/main-annotation-types.scala index ab0654c78a80..249c9d010268 100644 --- a/tests/run/main-annotation-types.scala +++ b/tests/run/main-annotation-types.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-vararg-1.scala b/tests/run/main-annotation-vararg-1.scala index 5c488940fa14..a1b99cd5b150 100644 --- a/tests/run/main-annotation-vararg-1.scala +++ b/tests/run/main-annotation-vararg-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-vararg-2.scala b/tests/run/main-annotation-vararg-2.scala index 3a8399e70768..becb5958ad8e 100644 --- a/tests/run/main-annotation-vararg-2.scala +++ b/tests/run/main-annotation-vararg-2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-wrong-param-1.scala b/tests/run/main-annotation-wrong-param-1.scala index a7f7c72bb6ef..ef6ada37b9e3 100644 --- a/tests/run/main-annotation-wrong-param-1.scala +++ b/tests/run/main-annotation-wrong-param-1.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-wrong-param-names.scala b/tests/run/main-annotation-wrong-param-names.scala index 6cfdc426f993..c428c955b5cd 100644 --- a/tests/run/main-annotation-wrong-param-names.scala +++ b/tests/run/main-annotation-wrong-param-names.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-wrong-param-number.scala b/tests/run/main-annotation-wrong-param-number.scala index 4feee21496ed..e607a85e4dc2 100644 --- a/tests/run/main-annotation-wrong-param-number.scala +++ b/tests/run/main-annotation-wrong-param-number.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-annotation-wrong-param-type.scala b/tests/run/main-annotation-wrong-param-type.scala index bce72a55df94..2228a8faf7df 100644 --- a/tests/run/main-annotation-wrong-param-type.scala +++ b/tests/run/main-annotation-wrong-param-type.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.newMain // Sample main method diff --git a/tests/run/main-calculator-example.scala b/tests/run/main-calculator-example.scala index 813f63c956a8..857792f11967 100644 --- a/tests/run/main-calculator-example.scala +++ b/tests/run/main-calculator-example.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + sealed trait Expression: def eval(): Int case class Number(n: Int) extends Expression: diff --git a/tests/run/manifest-summoning.scala b/tests/run/manifest-summoning.scala index dcee63801863..f36296728699 100644 --- a/tests/run/manifest-summoning.scala +++ b/tests/run/manifest-summoning.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.reflect.{classTag, ClassTag, NoManifest} @main def Test: Unit = diff --git a/tests/run/matchable.scala b/tests/run/matchable.scala index f4dbf58aa61a..cc30aaefa902 100644 --- a/tests/run/matchable.scala +++ b/tests/run/matchable.scala @@ -23,7 +23,6 @@ def foo[T](x: T): Matchable = def g[T <: Matchable](x: T) = x @main def Test = - val x: Matchable = foo(1) + val x: Matchable = foo(110000) val y: Matchable = foo("hello") assert(x != y) - diff --git a/tests/run/mixin-forwarder-overload/Test.java b/tests/run/mixin-forwarder-overload/Test.java index e5cecc71c64d..7bbd8dc9c7cb 100644 --- a/tests/run/mixin-forwarder-overload/Test.java +++ b/tests/run/mixin-forwarder-overload/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void main(String[] args) { Bar bar = new Bar(); diff --git a/tests/run/mixin-signatures.scala b/tests/run/mixin-signatures.scala index 48e345e8c645..2c6d0101b1c3 100644 --- a/tests/run/mixin-signatures.scala +++ b/tests/run/mixin-signatures.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait Base[T, R] { def f(x: T): R def g(x: T): R diff --git a/tests/run/nothing-lazy-val.scala b/tests/run/nothing-lazy-val.scala index 3e7aada0da2e..73993b57de76 100644 --- a/tests/run/nothing-lazy-val.scala +++ b/tests/run/nothing-lazy-val.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/nothing-val.scala b/tests/run/nothing-val.scala index 104be9e435b6..9d7902d79575 100644 --- a/tests/run/nothing-val.scala +++ b/tests/run/nothing-val.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/nothing-var.scala b/tests/run/nothing-var.scala index bb31253439a1..10e75d4ea478 100644 --- a/tests/run/nothing-var.scala +++ b/tests/run/nothing-var.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/null-lazy-val.scala b/tests/run/null-lazy-val.scala index fb7e78f730f0..fb94423e7394 100644 --- a/tests/run/null-lazy-val.scala +++ b/tests/run/null-lazy-val.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { diff --git a/tests/run/null-val.scala b/tests/run/null-val.scala index aa2637ee1a42..ffd63a63b229 100644 --- a/tests/run/null-val.scala +++ b/tests/run/null-val.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/null-var.scala b/tests/run/null-var.scala index 56bca4b9bcde..bb9ffa80b79d 100644 --- a/tests/run/null-var.scala +++ b/tests/run/null-var.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/nullAsInstanceOf.check b/tests/run/nullAsInstanceOf.check deleted file mode 100644 index 78b450b10b2d786f963aa21e7a123e2032cc187b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26 ZcmdPU>> Test0 diff --git a/tests/run/runtime.scala b/tests/run/runtime.scala index 6ff339030685..16eea1071fb9 100644 --- a/tests/run/runtime.scala +++ b/tests/run/runtime.scala @@ -25,8 +25,8 @@ object Test0Test { val cs: Array[Char ] = Array('a', 'b', 'c'); val is: Array[Int ] = Array(6, 7, 8); val ls: Array[Long ] = Array(9l, 10l, 11l); - val fs: Array[Float ] = Array(12.0f, 13.0f); - val ds: Array[Double ] = Array(14.0d, 15.0d); + val fs: Array[Float ] = Array(12.5f, 13.5f); + val ds: Array[Double ] = Array(14.5d, 15.5d); val os: Array[AnyRef ] = Array("string"); println(zs); println(bs); diff --git a/tests/run/serialization-new.scala b/tests/run/serialization-new.scala index 85706c27a04d..786fc12bd066 100644 --- a/tests/run/serialization-new.scala +++ b/tests/run/serialization-new.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + //############################################################################ // Serialization //############################################################################ diff --git a/tests/run/serialize-stream.scala b/tests/run/serialize-stream.scala index a8fb008f0788..7032b31abd97 100644 --- a/tests/run/serialize-stream.scala +++ b/tests/run/serialize-stream.scala @@ -1,4 +1,4 @@ - +// scalajs: --skip object Test { def ser[T](s: Seq[T]): Unit = { diff --git a/tests/run/serialize.scala b/tests/run/serialize.scala index 12e0ab7c2def..defe0ea5dff0 100644 --- a/tests/run/serialize.scala +++ b/tests/run/serialize.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + package a { object Outer extends Serializable { private object Inner extends Serializable diff --git a/tests/run/spec-self.check b/tests/run/spec-self.check index e981f45c92bf..ecd7600eec62 100644 --- a/tests/run/spec-self.check +++ b/tests/run/spec-self.check @@ -1,2 +1,2 @@ -5.0 -5.0 +5.5 +5.5 diff --git a/tests/run/spec-self.scala b/tests/run/spec-self.scala index 1c95e0a820fd..239fb7775a33 100644 --- a/tests/run/spec-self.scala +++ b/tests/run/spec-self.scala @@ -1,5 +1,5 @@ class Foo0 extends (() => Double) { - def apply() = 5.0d + def apply() = 5.5d } class Foo1 extends (Double => Double) { @@ -9,6 +9,6 @@ class Foo1 extends (Double => Double) { object Test { def main(args: Array[String]): Unit = { println((new Foo0)()) - println((new Foo1)(5.0d)) + println((new Foo1)(5.5d)) } } diff --git a/tests/run/splice-position.check b/tests/run/splice-position.check index 904f7c9c2efd..a37b1fbb806d 100644 --- a/tests/run/splice-position.check +++ b/tests/run/splice-position.check @@ -1,2 +1,2 @@ -Test$.main(Test.scala:3) -Test$.main(Test.scala:4) +Test$.main(Test.scala:5) +Test$.main(Test.scala:6) diff --git a/tests/run/splice-position/Test.scala b/tests/run/splice-position/Test.scala index 0bb354cf0115..9faf56fedf34 100644 --- a/tests/run/splice-position/Test.scala +++ b/tests/run/splice-position/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test: def main(args: Array[String]) = try assertTrue(1 == 2) catch e => println(e.getStackTrace()(0)) diff --git a/tests/run/static/i2054.scala b/tests/run/static/i2054.scala index 576e42d79a4e..dbf88b0efa14 100644 --- a/tests/run/static/i2054.scala +++ b/tests/run/static/i2054.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.annotation.static class Test @@ -10,4 +12,3 @@ object Test { def main(args: Array[String]): Unit = test(3) } - diff --git a/tests/run/statics.scala b/tests/run/statics.scala index a7fb3a232f15..07d3925d5f9d 100644 --- a/tests/run/statics.scala +++ b/tests/run/statics.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.annotation.static class Foo { diff --git a/tests/run/string-switch.scala b/tests/run/string-switch.scala index 6a1522b416d9..0c25661972de 100644 --- a/tests/run/string-switch.scala +++ b/tests/run/string-switch.scala @@ -31,7 +31,7 @@ object Test extends App { case x => throw new MatchError(x) } List("A","X").foreach { s => - println(s"$s ${Try(unitary(s))}") + println(s"$s ${Try(unitary(s))}".replace("undefined", "()")) // replace for portability on Scala.js } println("=====") diff --git a/tests/run/t10232.scala b/tests/run/t10232.scala index 3b3a8e7fad26..d1aac100a247 100644 --- a/tests/run/t10232.scala +++ b/tests/run/t10232.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.io.{ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream, ObjectOutputStream} object Test { diff --git a/tests/run/t10594.scala b/tests/run/t10594.scala index 9c9ea0eb2713..0ca53229d3fc 100644 --- a/tests/run/t10594.scala +++ b/tests/run/t10594.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class C { var x = 0 @@ -120,7 +122,7 @@ class C { m();m() // 8272 } - } + } } object Test { diff --git a/tests/run/t10889/Test.java b/tests/run/t10889/Test.java index ae4237986bdd..8f62838fc513 100644 --- a/tests/run/t10889/Test.java +++ b/tests/run/t10889/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void main(String[] args) { p.O l = new p.O("o"); diff --git a/tests/run/t11485.scala b/tests/run/t11485.scala index e27b46119dda..3e339577b4a8 100644 --- a/tests/run/t11485.scala +++ b/tests/run/t11485.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Modifier trait HaveFinalMethod { diff --git a/tests/run/t12300/Test_2.scala b/tests/run/t12300/Test_2.scala index 1aa121dda490..346e4c27a636 100644 --- a/tests/run/t12300/Test_2.scala +++ b/tests/run/t12300/Test_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = B_2.foo() diff --git a/tests/run/t1505.scala b/tests/run/t1505.scala index 4afbb99ef79b..57906edc4b3e 100644 --- a/tests/run/t1505.scala +++ b/tests/run/t1505.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Q extends Enumeration { val A = Value("A") val B = Value("B") diff --git a/tests/run/t2111.scala b/tests/run/t2111.scala index 98177c4e216f..becff1943dce 100644 --- a/tests/run/t2111.scala +++ b/tests/run/t2111.scala @@ -1,3 +1,4 @@ +// scalajs: --skip --pending object Test extends App { diff --git a/tests/run/t2378.scala b/tests/run/t2378.scala index f696a78b4cdd..4b90eebd7cf0 100644 --- a/tests/run/t2378.scala +++ b/tests/run/t2378.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test { val f1 = -0.0 diff --git a/tests/run/t2849.scala b/tests/run/t2849.scala index bfc2135dabcc..626548ee10dc 100644 --- a/tests/run/t2849.scala +++ b/tests/run/t2849.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.collection.immutable.SortedSet import scala.collection.immutable.TreeSet diff --git a/tests/run/t2857.scala b/tests/run/t2857.scala index 7e432a5f193d..10f4aeb290d4 100644 --- a/tests/run/t2857.scala +++ b/tests/run/t2857.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test extends App { import collection.mutable.* val m = new HashMap[Int, Set[String]] with MultiMap[Int, String] diff --git a/tests/run/t3038d.scala b/tests/run/t3038d.scala index 3dab076759cc..e74255b5cdf9 100644 --- a/tests/run/t3038d.scala +++ b/tests/run/t3038d.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait Foo { @transient protected var load = 1 @transient protected var a = 12 diff --git a/tests/run/t3452a/S_3.scala b/tests/run/t3452a/S_3.scala index aaa898dcde94..a925e57cc70e 100644 --- a/tests/run/t3452a/S_3.scala +++ b/tests/run/t3452a/S_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { J_2.main(args) diff --git a/tests/run/t3452b/S_3.scala b/tests/run/t3452b/S_3.scala index 102b433f478c..6373d39e9137 100644 --- a/tests/run/t3452b/S_3.scala +++ b/tests/run/t3452b/S_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { J_2.j() diff --git a/tests/run/t3452d/Test.java b/tests/run/t3452d/Test.java index 16e95dbd1d30..9ee02ed092a8 100644 --- a/tests/run/t3452d/Test.java +++ b/tests/run/t3452d/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void main(String[] args) { C c = new C(); diff --git a/tests/run/t3452e/Test.scala b/tests/run/t3452e/Test.scala index fc175bf94a3a..91cd9cdb5d17 100644 --- a/tests/run/t3452e/Test.scala +++ b/tests/run/t3452e/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { new B } diff --git a/tests/run/t3452g/Test.java b/tests/run/t3452g/Test.java index cb21f10150de..594abc898ffe 100644 --- a/tests/run/t3452g/Test.java +++ b/tests/run/t3452g/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void main(String[] args) { AbstractTrav lsSharp1 = new C1().tail(); diff --git a/tests/run/t3493.scala b/tests/run/t3493.scala index 03091d7c28bc..c193cb7f6321 100644 --- a/tests/run/t3493.scala +++ b/tests/run/t3493.scala @@ -1,6 +1,4 @@ - - - +// scalajs: --skip object Test { diff --git a/tests/run/t3613.scala b/tests/run/t3613.scala index 199ed2ee1933..d8449a73b380 100644 --- a/tests/run/t3613.scala +++ b/tests/run/t3613.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Boopy { private val s = new Schnuck def observer : PartialFunction[ Any, Unit ] = s.observer diff --git a/tests/run/t3616.scala b/tests/run/t3616.scala index 777b97f9ab66..078bdc5218f6 100644 --- a/tests/run/t3616.scala +++ b/tests/run/t3616.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object X extends Enumeration { val Y = Value } diff --git a/tests/run/t3687.scala b/tests/run/t3687.scala index e26433beca24..e3543ef9f2ed 100644 --- a/tests/run/t3687.scala +++ b/tests/run/t3687.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object t extends Enumeration { val a, b = Value } object Test extends App { diff --git a/tests/run/t3702.check b/tests/run/t3702.check index 31c2ac4ed193..67d1adb3ff33 100644 --- a/tests/run/t3702.check +++ b/tests/run/t3702.check @@ -1,2 +1,2 @@ -() +hello 6 diff --git a/tests/run/t3702.scala b/tests/run/t3702.scala index 0cdafd90b6ba..aa6f58466787 100644 --- a/tests/run/t3702.scala +++ b/tests/run/t3702.scala @@ -1,6 +1,6 @@ object Test { def foo(h: Any, t: List[Any]) = h match { - case 5 :: _ => () + case 5 :: _ => "hello" case List(from) => from } diff --git a/tests/run/t3719.scala b/tests/run/t3719.scala index 18a031b1fe2b..c8b3e2a83cb6 100644 --- a/tests/run/t3719.scala +++ b/tests/run/t3719.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Days extends Enumeration { type Day = DayValue val Mon, Tue, Wed, Thu, Fri, Sat, Sun = new DayValue // DayValue diff --git a/tests/run/t4023.scala b/tests/run/t4023.scala index 68f5ec815995..55529b67c0f1 100644 --- a/tests/run/t4023.scala +++ b/tests/run/t4023.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { object C { class B1 diff --git a/tests/run/t4024.scala b/tests/run/t4024.scala index 227be345f85a..02dd62796bad 100644 --- a/tests/run/t4024.scala +++ b/tests/run/t4024.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { val x = "abc" diff --git a/tests/run/t4119/S.scala b/tests/run/t4119/S.scala index d6ae5f1b8726..b532df7eedcb 100644 --- a/tests/run/t4119/S.scala +++ b/tests/run/t4119/S.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class S extends foo.bar.J { sss => diff --git a/tests/run/t4238/s_2.scala b/tests/run/t4238/s_2.scala index a6e9bd11dedc..d6914b0eedca 100644 --- a/tests/run/t4238/s_2.scala +++ b/tests/run/t4238/s_2.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val x = new J_1 diff --git a/tests/run/t4317/S_3.scala b/tests/run/t4317/S_3.scala index 358fdda90c0f..0797d3952b53 100644 --- a/tests/run/t4317/S_3.scala +++ b/tests/run/t4317/S_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { val j = new J_2() diff --git a/tests/run/t4536.scala b/tests/run/t4536.scala index 89a93a5e06dc..098d4cfdb506 100644 --- a/tests/run/t4536.scala +++ b/tests/run/t4536.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.language.dynamics object dynamicObject extends Dynamic { diff --git a/tests/run/t4570.scala b/tests/run/t4570.scala index 5e1a20c52db7..ee76d7717727 100644 --- a/tests/run/t4570.scala +++ b/tests/run/t4570.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object Test extends Enumeration { val foo = Value def bar = withName("foo") diff --git a/tests/run/t4813.scala b/tests/run/t4813.scala index a6b2b1640806..9e8b9a82578c 100644 --- a/tests/run/t4813.scala +++ b/tests/run/t4813.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import collection.mutable.* import reflect.* diff --git a/tests/run/t5262.scala b/tests/run/t5262.scala index fd194e90aa73..4b3f7db3da60 100644 --- a/tests/run/t5262.scala +++ b/tests/run/t5262.scala @@ -1,9 +1,4 @@ - - - - - - +// scalajs: --skip object Test { diff --git a/tests/run/t5552.check b/tests/run/t5552.check index a19a60840edb..e062d02e43d5 100644 --- a/tests/run/t5552.check +++ b/tests/run/t5552.check @@ -1,2 +1,2 @@ (3,3) -(3.0,3.0) +(3.5,3.5) diff --git a/tests/run/t5552.scala b/tests/run/t5552.scala index dd32ce22ccfa..8072be6048be 100644 --- a/tests/run/t5552.scala +++ b/tests/run/t5552.scala @@ -5,6 +5,6 @@ class C[@specialized(Int) A](a:A) { object Test { def main(args:Array[String]): Unit = { println(new C(3).c) - println(new C(3.0).c) + println(new C(3.5).c) } } diff --git a/tests/run/t5568.scala b/tests/run/t5568.scala index db83ed0d9cd5..d8fbf0de0442 100644 --- a/tests/run/t5568.scala +++ b/tests/run/t5568.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { // these should give unboxed results diff --git a/tests/run/t5590.scala b/tests/run/t5590.scala index a08cf4af7003..e9c98e2cb6fb 100644 --- a/tests/run/t5590.scala +++ b/tests/run/t5590.scala @@ -1,11 +1,8 @@ - - +// scalajs: --skip import java.io.* import collection.* - - object Test { def check(obj: AnyRef): Unit = { diff --git a/tests/run/t5612.scala b/tests/run/t5612.scala index 08d006f88276..4d57750372c3 100644 --- a/tests/run/t5612.scala +++ b/tests/run/t5612.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + object L extends Enumeration { val One, Two, Three = Value } diff --git a/tests/run/t5629b.check b/tests/run/t5629b.check index e0f25f0b0535..181448c01a4e 100644 --- a/tests/run/t5629b.check +++ b/tests/run/t5629b.check @@ -1,8 +1,8 @@ -=== pf(1): +=== pf(100000): MySmartPF.apply entered... newPF.applyOrElse entered... default -scala.MatchError: 1 (of class java.lang.Integer) +scala.MatchError: 100000 (of class java.lang.Integer) === pf(42): MySmartPF.apply entered... newPF.applyOrElse entered... diff --git a/tests/run/t5629b.scala b/tests/run/t5629b.scala index 443ce9bf4378..0075703b6b85 100644 --- a/tests/run/t5629b.scala +++ b/tests/run/t5629b.scala @@ -26,9 +26,9 @@ object Test extends App { } } - val pf = newPF(1) - println("=== pf(1):") - try { pf(1) } catch { case x: Throwable => println(x) } + val pf = newPF(100000) + println("=== pf(100000):") + try { pf(100000) } catch { case x: Throwable => println(x) } println("=== pf(42):") pf(42) println("=== done") diff --git a/tests/run/t5680.scala b/tests/run/t5680.scala index 52449849c1c4..ec352a6b1297 100644 --- a/tests/run/t5680.scala +++ b/tests/run/t5680.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { val x = Array[Unit]((), ()) println(x.toString.substring(0, x.toString.indexOf(";"))) diff --git a/tests/run/t5866.check b/tests/run/t5866.check index 9f4ec729a704..64df1cec7f18 100644 --- a/tests/run/t5866.check +++ b/tests/run/t5866.check @@ -1,2 +1,2 @@ -0.0 -Foo(0.0) +0 +Foo(0) diff --git a/tests/run/t5866.scala b/tests/run/t5866.scala index 120773effa87..1a3544244bd0 100644 --- a/tests/run/t5866.scala +++ b/tests/run/t5866.scala @@ -1,10 +1,10 @@ -class Foo(val d: Double) extends AnyVal { - override def toString = s"Foo($d)" +class Foo(val i: Int) extends AnyVal { + override def toString = s"Foo($i)" } object Test { def main(args: Array[String]): Unit = { - val d: Double = null.asInstanceOf[Double] - println(d) + val i: Int = null.asInstanceOf[Int] + println(i) val f: Foo = null.asInstanceOf[Foo] println(f) } diff --git a/tests/run/t5974.scala b/tests/run/t5974.scala index c7f4aa25a545..407b0a92a64e 100644 --- a/tests/run/t5974.scala +++ b/tests/run/t5974.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { import scala.jdk.CollectionConverters.* diff --git a/tests/run/t6138-2/ScalaClass.scala b/tests/run/t6138-2/ScalaClass.scala index 0528133cbf2c..c73189e9e02a 100644 --- a/tests/run/t6138-2/ScalaClass.scala +++ b/tests/run/t6138-2/ScalaClass.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + /* Similar to t10490 -- but defines `Foo` in the object. * Placing this test within t10490 makes it work without a fix, that's why it's independent. * Note that this was already working, we add it to make sure we don't regress @@ -15,4 +17,4 @@ object Test { // JavaClass is the user of the Scala defined classes println(JavaClass.bar) } -} \ No newline at end of file +} diff --git a/tests/run/t6138/ScalaClass.scala b/tests/run/t6138/ScalaClass.scala index da3c682b5033..561832e667c2 100644 --- a/tests/run/t6138/ScalaClass.scala +++ b/tests/run/t6138/ScalaClass.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class Foo { class Bar { override def toString: String = "Foo$Bar was instantiated!" @@ -10,4 +12,4 @@ object Test { println(JavaClass.bar) //println(JavaClass.baz) } -} \ No newline at end of file +} diff --git a/tests/run/t6154.scala b/tests/run/t6154.scala index 47773490a561..edb742548c8e 100644 --- a/tests/run/t6154.scala +++ b/tests/run/t6154.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def foo(a: Int): Unit = { var bar: Int = 0 diff --git a/tests/run/t6168/main.scala b/tests/run/t6168/main.scala index c7ad37830bb2..2e30a32f8056 100644 --- a/tests/run/t6168/main.scala +++ b/tests/run/t6168/main.scala @@ -1,4 +1,4 @@ - +// scalajs: --skip object Test extends App { JavaTest.main(null) diff --git a/tests/run/t6168b/main.scala b/tests/run/t6168b/main.scala index 187e9fe85e39..b11c8ef7a533 100644 --- a/tests/run/t6168b/main.scala +++ b/tests/run/t6168b/main.scala @@ -1,4 +1,4 @@ - +// scalajs: --skip object Test extends App { JavaTest.main(null) diff --git a/tests/run/t6260-delambdafy.scala b/tests/run/t6260-delambdafy.scala index 3aa145d2f1c5..4970c070ca04 100644 --- a/tests/run/t6260-delambdafy.scala +++ b/tests/run/t6260-delambdafy.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Modifier class C[A](private val a: Any) extends AnyVal diff --git a/tests/run/t6380.scala b/tests/run/t6380.scala index d7344c75248c..6e1092cc8128 100644 --- a/tests/run/t6380.scala +++ b/tests/run/t6380.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { classOf[Foo].getDeclaredMethods().sortBy(_.getName).map(_.getExceptionTypes.sortBy(_.getName).toList).toList.foreach(println) } diff --git a/tests/run/t6488.scala b/tests/run/t6488.scala index 4cdc2d2b34b5..48866e6131a3 100644 --- a/tests/run/t6488.scala +++ b/tests/run/t6488.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.sys.process.* import scala.util.Try import scala.util.Properties.{ javaHome, javaClassPath } diff --git a/tests/run/t6633.scala b/tests/run/t6633.scala index f848924abe8e..1f44a36ce833 100644 --- a/tests/run/t6633.scala +++ b/tests/run/t6633.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test extends App { import collection.mutable.ListBuffer diff --git a/tests/run/t6634.scala b/tests/run/t6634.scala index d972b7454e91..942e29f0fdf0 100644 --- a/tests/run/t6634.scala +++ b/tests/run/t6634.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import collection.mutable.ListBuffer //object Test extends App { diff --git a/tests/run/t6793.scala b/tests/run/t6793.scala index 0b1f1619af56..49eaa5a7ea2a 100644 --- a/tests/run/t6793.scala +++ b/tests/run/t6793.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + package a { class C1(private[a] val v0: String) } package b { class C2(v1: String) extends a.C1(v1) { def foo = v1 } } diff --git a/tests/run/t6827.scala b/tests/run/t6827.scala index 0f8857b960ee..325d4d0441d0 100644 --- a/tests/run/t6827.scala +++ b/tests/run/t6827.scala @@ -1,3 +1,5 @@ +// scalajs: --compliant-semantics + object Test extends App { val ns = (0 until 20) val arr = new Array[Int](10) diff --git a/tests/run/t7120b.scala b/tests/run/t7120b.scala index 0be4eb70a779..71b7eef40e23 100644 --- a/tests/run/t7120b.scala +++ b/tests/run/t7120b.scala @@ -1,3 +1,4 @@ +// scalajs: --skip import scala.language.higherKinds diff --git a/tests/run/t7214.scala b/tests/run/t7214.scala index 15c2c24fa0b0..8a256b42a34a 100644 --- a/tests/run/t7214.scala +++ b/tests/run/t7214.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + // pattern matcher crashes here trying to synthesize an uneeded outer test. // no-symbol does not have an owner // at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:49) diff --git a/tests/run/t7336.scala b/tests/run/t7336.scala index e2f17e11504e..8e47c03642b5 100644 --- a/tests/run/t7336.scala +++ b/tests/run/t7336.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.concurrent.Await import scala.concurrent.ExecutionContext.Implicits.global import scala.concurrent.Future diff --git a/tests/run/t7374/Test.java b/tests/run/t7374/Test.java index 52010858d802..9d106ee301ed 100644 --- a/tests/run/t7374/Test.java +++ b/tests/run/t7374/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public class Test { public static void main(String[] args) { System.out.println(SomeScala.list().tail()); diff --git a/tests/run/t7763.scala b/tests/run/t7763.scala index a76f52b74878..97c0c039a746 100644 --- a/tests/run/t7763.scala +++ b/tests/run/t7763.scala @@ -1,3 +1,5 @@ +// scalajs: --compliant-semantics + object Test { class A; class B def main(args: Array[String]): Unit = { diff --git a/tests/run/t7932.scala b/tests/run/t7932.scala index 4f943b33f09d..243e50245c0c 100644 --- a/tests/run/t7932.scala +++ b/tests/run/t7932.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.language.higherKinds class Category[M[_, _]] diff --git a/tests/run/t8087.scala b/tests/run/t8087.scala index 6047211756ab..d89ac4b47ac6 100644 --- a/tests/run/t8087.scala +++ b/tests/run/t8087.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait Foo { @volatile private[this] var x: String = "" @volatile private var y: String = "" diff --git a/tests/run/t8177f.scala b/tests/run/t8177f.scala index f50a5d98d649..ba4bbd82f3b4 100644 --- a/tests/run/t8177f.scala +++ b/tests/run/t8177f.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait Thing { type A; var p: A = _ } class A[T](final val x: Thing { type A = T }) { type Q = T diff --git a/tests/run/t8188.scala b/tests/run/t8188.scala index 9ee542f2ae1a..a0c4260283fb 100644 --- a/tests/run/t8188.scala +++ b/tests/run/t8188.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = { import java.io.ByteArrayInputStream diff --git a/tests/run/t8549b.scala b/tests/run/t8549b.scala index 8173db4ecb11..9dfd60aaa1ef 100644 --- a/tests/run/t8549b.scala +++ b/tests/run/t8549b.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.lang.reflect.Modifier.* @SerialVersionUID(42) diff --git a/tests/run/t8570a.scala b/tests/run/t8570a.scala index b36c3403724b..831f0efc0faf 100644 --- a/tests/run/t8570a.scala +++ b/tests/run/t8570a.scala @@ -11,4 +11,7 @@ object Test { def main(args: Array[String]): Unit = { println((new T1 {}).run) } + + def println(x: Any): Unit = + Console.println(if (x == ()) "()" else x) // portable on Scala.js } diff --git a/tests/run/t8601b.scala b/tests/run/t8601b.scala index 3816e0b83f31..468cee09b7fa 100644 --- a/tests/run/t8601b.scala +++ b/tests/run/t8601b.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def len(x: Array[String]): Unit = x.length def load(x: Array[String]): Unit = x(0) diff --git a/tests/run/t8601c.scala b/tests/run/t8601c.scala index 946a4d4b69b1..e485cdbf6a7f 100644 --- a/tests/run/t8601c.scala +++ b/tests/run/t8601c.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def loadField(x: scala.runtime.IntRef): Unit = x.elem def storeField(x: scala.runtime.IntRef): Unit = x.elem = 42 diff --git a/tests/run/t8601e/Test.scala b/tests/run/t8601e/Test.scala index 838114f6a7eb..9a90be815c7b 100644 --- a/tests/run/t8601e/Test.scala +++ b/tests/run/t8601e/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class C { def foo: Unit = {StaticInit.fld} } diff --git a/tests/run/t8690.scala b/tests/run/t8690.scala index ab8b45b2a76f..f3a27ab2fbdb 100644 --- a/tests/run/t8690.scala +++ b/tests/run/t8690.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.io.Source import java.io.ByteArrayInputStream diff --git a/tests/run/t8905/Test.java b/tests/run/t8905/Test.java index d1a0667cfed5..e327beb3c819 100644 --- a/tests/run/t8905/Test.java +++ b/tests/run/t8905/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.util.Comparator; public class Test { diff --git a/tests/run/t8931.scala b/tests/run/t8931.scala index 11718471bc21..04f5d8cd9ba0 100644 --- a/tests/run/t8931.scala +++ b/tests/run/t8931.scala @@ -1,3 +1,4 @@ +// scalajs: --skip trait A diff --git a/tests/run/t9915/Test_2.scala b/tests/run/t9915/Test_2.scala index 164ee0b2307f..f71eddc155d2 100644 --- a/tests/run/t9915/Test_2.scala +++ b/tests/run/t9915/Test_2.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test extends App { private def dump(s: String) = s.map(c => f"${c.toInt}%02X").mkString(" ") diff --git a/tests/run/targetName-interop/Test_3.scala b/tests/run/targetName-interop/Test_3.scala index afafaa1da8e0..85811346744f 100644 --- a/tests/run/targetName-interop/Test_3.scala +++ b/tests/run/targetName-interop/Test_3.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = diff --git a/tests/run/targetName-modules-1/Test_3.scala b/tests/run/targetName-modules-1/Test_3.scala index bc7780f8b199..85811346744f 100644 --- a/tests/run/targetName-modules-1/Test_3.scala +++ b/tests/run/targetName-modules-1/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = alpha.Test_2.main(args) diff --git a/tests/run/targetName-modules-2/Test_3.scala b/tests/run/targetName-modules-2/Test_3.scala index bc7780f8b199..85811346744f 100644 --- a/tests/run/targetName-modules-2/Test_3.scala +++ b/tests/run/targetName-modules-2/Test_3.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + object Test { def main(args: Array[String]): Unit = alpha.Test_2.main(args) diff --git a/tests/run/throws-annot.scala b/tests/run/throws-annot.scala index fcf86397d88a..444251c7f83b 100644 --- a/tests/run/throws-annot.scala +++ b/tests/run/throws-annot.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + /** Test the @throws annotation */ import java.io.IOException diff --git a/tests/run/trait-static-forwarder/Test.java b/tests/run/trait-static-forwarder/Test.java index 89012c016209..7733c2775d6d 100644 --- a/tests/run/trait-static-forwarder/Test.java +++ b/tests/run/trait-static-forwarder/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + public final class Test { public static void main(String... args) { System.out.println(T.foo()); diff --git a/tests/run/traitNoInit.scala b/tests/run/traitNoInit.scala index fcfd8a6d535e..a89cb4ddc092 100644 --- a/tests/run/traitNoInit.scala +++ b/tests/run/traitNoInit.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + trait NoInit { def meth(x: Int): Int } diff --git a/tests/run/transparentPower.check b/tests/run/transparentPower.check index 25e11563452f..afa075a4c43d 100644 --- a/tests/run/transparentPower.check +++ b/tests/run/transparentPower.check @@ -1,2 +1,2 @@ -1024.0 -2048.0 +1667.9880978201004 +3502.775005422211 diff --git a/tests/run/transparentPower/Test_2.scala b/tests/run/transparentPower/Test_2.scala index 8e16587b5653..5e1d4023dd8c 100644 --- a/tests/run/transparentPower/Test_2.scala +++ b/tests/run/transparentPower/Test_2.scala @@ -2,8 +2,8 @@ import p.pow.power object Test { def main(args: Array[String]): Unit = { - println(power(2.0, 10)) - def x = 2.0 + println(power(2.1, 10)) + def x = 2.1 println(power(x, 11)) } } diff --git a/tests/run/triemap-hash.scala b/tests/run/triemap-hash.scala index d8532ad97e23..4f68fcd780dd 100644 --- a/tests/run/triemap-hash.scala +++ b/tests/run/triemap-hash.scala @@ -1,10 +1,7 @@ - - +// scalajs: --skip import util.hashing.Hashing - - object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/try-catch-unify.check b/tests/run/try-catch-unify.check index 67a8c64a33c7..80efbbff6329 100644 --- a/tests/run/try-catch-unify.check +++ b/tests/run/try-catch-unify.check @@ -1,4 +1,4 @@ Failure(java.lang.NumberFormatException: For input string: "Hi") -Success(5.0) +Success(5.5) O NOES Failure(java.lang.NumberFormatException: For input string: "Hi") diff --git a/tests/run/try-catch-unify.scala b/tests/run/try-catch-unify.scala index bdbd485e2c78..4c1f2aa31722 100644 --- a/tests/run/try-catch-unify.scala +++ b/tests/run/try-catch-unify.scala @@ -5,7 +5,7 @@ import control.Exception.* object Test { def main(args: Array[String]): Unit = { println(catching(classOf[NumberFormatException]) withTry ("Hi".toDouble)) - println(catching(classOf[NumberFormatException]) withTry ("5".toDouble)) + println(catching(classOf[NumberFormatException]) withTry ("5.5".toDouble)) try { catching(classOf[NumberFormatException]) withTry (sys.error("O NOES")) } catch { diff --git a/tests/run/tryPatternMatch.scala b/tests/run/tryPatternMatch.scala index db01ec172288..80e28c3aab9d 100644 --- a/tests/run/tryPatternMatch.scala +++ b/tests/run/tryPatternMatch.scala @@ -1,3 +1,5 @@ +// scalajs: --compliant-semantics + import java.io.IOException import java.util.concurrent.TimeoutException diff --git a/tests/run/tuple-ops.scala b/tests/run/tuple-ops.scala index 598c3c7b007a..31808da172d0 100644 --- a/tests/run/tuple-ops.scala +++ b/tests/run/tuple-ops.scala @@ -30,3 +30,6 @@ val t4: Unit = d.zip(d) @main def Test = List(r1, r2, r3, r4, r5, r6, r7, t3, t4).foreach(println) + +def println(x: Any): Unit = + Console.println(if x == () then "()" else x) // portable on Scala.js diff --git a/tests/run/tupled-function-andThen.scala b/tests/run/tupled-function-andThen.scala index 94236e9267e1..a57c3613bb32 100644 --- a/tests/run/tupled-function-andThen.scala +++ b/tests/run/tupled-function-andThen.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.util.TupledFunction object Test { diff --git a/tests/run/tupled-function-apply.scala b/tests/run/tupled-function-apply.scala index 2c83c1a42ccc..76f6b823df76 100644 --- a/tests/run/tupled-function-apply.scala +++ b/tests/run/tupled-function-apply.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.util.TupledFunction object Test { diff --git a/tests/run/tupled-function-compose.scala b/tests/run/tupled-function-compose.scala index 4cf83563274d..a2ca5c56771a 100644 --- a/tests/run/tupled-function-compose.scala +++ b/tests/run/tupled-function-compose.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.util.TupledFunction object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/tupled-function-extension-method.scala b/tests/run/tupled-function-extension-method.scala index 751b05027c1e..0185fc4eb06c 100644 --- a/tests/run/tupled-function-extension-method.scala +++ b/tests/run/tupled-function-extension-method.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.util.TupledFunction object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/tupled-function-tupled.scala b/tests/run/tupled-function-tupled.scala index 6e7d94b3ac3d..360e3e299770 100644 --- a/tests/run/tupled-function-tupled.scala +++ b/tests/run/tupled-function-tupled.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.util.TupledFunction object Test { diff --git a/tests/run/tuples1b.scala b/tests/run/tuples1b.scala index f90f7c00e3bd..a6f06dfc6b59 100644 --- a/tests/run/tuples1b.scala +++ b/tests/run/tuples1b.scala @@ -9,4 +9,6 @@ object Test extends App { println(x2((0,1))) println(x3((0,1))) + def println(x: Any): Unit = + Console.println(if (x == ()) "()" else x) // portable on Scala.js } diff --git a/tests/run/typelevel-numeric.check b/tests/run/typelevel-numeric.check index 18e16e38c5de..ae538dabc380 100644 --- a/tests/run/typelevel-numeric.check +++ b/tests/run/typelevel-numeric.check @@ -1 +1 @@ --1.0 +-1.1 diff --git a/tests/run/typelevel-numeric.scala b/tests/run/typelevel-numeric.scala index 4b61bae9b772..26dc582acc4e 100644 --- a/tests/run/typelevel-numeric.scala +++ b/tests/run/typelevel-numeric.scala @@ -26,8 +26,8 @@ object Test extends App { val mlib = MathLib.apply[Double](scala.math.Numeric.DoubleIsFractional) - val xs = Array(1.0, 1.0) - val ys = Array(2.0, -3.0) + val xs = Array(1.1, 1.1) + val ys = Array(2.1, -3.1) val p = mlib.dotProduct(xs, ys) println(p) } diff --git a/tests/run/unit-lazy-val.scala b/tests/run/unit-lazy-val.scala index a93d28c81ade..e15bd0aa8570 100644 --- a/tests/run/unit-lazy-val.scala +++ b/tests/run/unit-lazy-val.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { diff --git a/tests/run/unit-val.scala b/tests/run/unit-val.scala index 58175d659ff8..10c7c1cdf0c1 100644 --- a/tests/run/unit-val.scala +++ b/tests/run/unit-val.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/unit-var.scala b/tests/run/unit-var.scala index c024813a887f..dffdcfc613f2 100644 --- a/tests/run/unit-var.scala +++ b/tests/run/unit-var.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/unit-volatile-var.scala b/tests/run/unit-volatile-var.scala index 1c7a77fd6d40..480bf4771daa 100644 --- a/tests/run/unit-volatile-var.scala +++ b/tests/run/unit-volatile-var.scala @@ -1,3 +1,4 @@ +// scalajs: --skip object Test { def main(args: Array[String]): Unit = { diff --git a/tests/run/unit_erasure.scala b/tests/run/unit_erasure.scala index 51ccf0a16668..ccc130164c8b 100644 --- a/tests/run/unit_erasure.scala +++ b/tests/run/unit_erasure.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class A { def foo1[T]: Unit = {} def foo2[T](): Unit = {} diff --git a/tests/run/value-class-extractor-seq.scala b/tests/run/value-class-extractor-seq.scala index c20e2f064121..7630db02e4e9 100644 --- a/tests/run/value-class-extractor-seq.scala +++ b/tests/run/value-class-extractor-seq.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import scala.runtime.ScalaRunTime.stringOf final class ArrayOpt[T](val xs: Array[T]) extends AnyVal { diff --git a/tests/run/varargs-abstract/Test.java b/tests/run/varargs-abstract/Test.java index 3233d2412894..3b6523596155 100644 --- a/tests/run/varargs-abstract/Test.java +++ b/tests/run/varargs-abstract/Test.java @@ -1,3 +1,5 @@ +// scalajs: --skip + import java.util.Comparator; public class Test { diff --git a/tests/run/varargs-extend-java-2/Test.scala b/tests/run/varargs-extend-java-2/Test.scala index 94fd48477c39..09d01c74503b 100644 --- a/tests/run/varargs-extend-java-2/Test.scala +++ b/tests/run/varargs-extend-java-2/Test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import base.* object Test extends App { diff --git a/tests/run/varargs-extend-java/test.scala b/tests/run/varargs-extend-java/test.scala index 39e3c632124c..94e334bf4c34 100644 --- a/tests/run/varargs-extend-java/test.scala +++ b/tests/run/varargs-extend-java/test.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + import scala.annotation.varargs class VarargImpl extends VarargAbstract { diff --git a/tests/run/variable-pattern-access.scala b/tests/run/variable-pattern-access.scala index 76fc5ecfc0f3..dcf9726be55e 100644 --- a/tests/run/variable-pattern-access.scala +++ b/tests/run/variable-pattern-access.scala @@ -1,3 +1,5 @@ +// scalajs: --skip + class A { val (a, b) = (1, 2) } diff --git a/tests/run/verify-ctor.scala b/tests/run/verify-ctor.scala index 528d038a8edc..023a110a7457 100644 --- a/tests/run/verify-ctor.scala +++ b/tests/run/verify-ctor.scala @@ -1,6 +1,11 @@ +object NothingMethod { + def nothingMethod(): Nothing = + throw new Exception("boom") +} + class Foo(val str: String) { def this(arr: Array[Char]) = this({ - if (arr.length == 0) sys.exit(1) + if (arr.length == 0) NothingMethod.nothingMethod() new String(arr) }) } diff --git a/tests/run/view-iterator-stream.scala b/tests/run/view-iterator-stream.scala index 3a1a00c87628..9c329f0432f1 100644 --- a/tests/run/view-iterator-stream.scala +++ b/tests/run/view-iterator-stream.scala @@ -1,3 +1,4 @@ +// scalajs: --skip import scala.language.postfixOps diff --git a/tests/run/virtpatmat_switch.check b/tests/run/virtpatmat_switch.check index 6ded95c01018..979eb6b99761 100644 --- a/tests/run/virtpatmat_switch.check +++ b/tests/run/virtpatmat_switch.check @@ -4,4 +4,4 @@ many got a got b got some letter -scala.MatchError: 5 (of class java.lang.Integer) \ No newline at end of file +scala.MatchError: 100000 (of class java.lang.Integer) diff --git a/tests/run/virtpatmat_switch.scala b/tests/run/virtpatmat_switch.scala index 2f2e210d9e32..b1d17f5aff57 100644 --- a/tests/run/virtpatmat_switch.scala +++ b/tests/run/virtpatmat_switch.scala @@ -30,7 +30,7 @@ object Test extends App { } try { - implicitDefault(5) + implicitDefault(100000) } catch { case e: MatchError => println(e) } diff --git a/tests/run/weak-conformance.scala b/tests/run/weak-conformance.scala index a9025b4a58cb..fdd28dbc524a 100644 --- a/tests/run/weak-conformance.scala +++ b/tests/run/weak-conformance.scala @@ -1,3 +1,5 @@ +// scalajs: --skip --pending + import collection.mutable.ArrayBuffer object Test extends App { inline val b = 33