diff options
Diffstat (limited to 'compiler/test/dotty/tools/dotc/CompilationTests.scala')
-rw-r--r-- | compiler/test/dotty/tools/dotc/CompilationTests.scala | 497 |
1 files changed, 164 insertions, 333 deletions
diff --git a/compiler/test/dotty/tools/dotc/CompilationTests.scala b/compiler/test/dotty/tools/dotc/CompilationTests.scala index 283430565..8136cb861 100644 --- a/compiler/test/dotty/tools/dotc/CompilationTests.scala +++ b/compiler/test/dotty/tools/dotc/CompilationTests.scala @@ -14,354 +14,185 @@ class CompilationTests extends ParallelTesting { compileFilesInDir("../tests/pos", defaultOptions).pos @Test def compilePosScala2: Unit = - compileFilesInDir("../tests/pos-scala2", scala2Mode).pos - - @Test def nullarifyPos: Unit = - compileFile("../tests/pos/nullarify.scala", defaultOptions.and("-Ycheck:nullarify")).pos - - @Test def rewrites: Unit = - compileFile("../tests/pos-scala2/rewrites.scala", scala2Mode.and("-rewrite")).pos - - @Test def t8146aPos: Unit = - compileFile("../tests/pos-special/t8146a.scala", allowDeepSubtypes).pos - - @Test def t5545Pos: Unit = - compileFilesInDir("../tests/pos-special/spec-t5545", defaultOptions).pos - - @Test def utf8encodedPos: Unit = - compileFile("../tests/pos-special/utf8encoded.scala", explicitUTF8).pos - - @Test def utf16encodedPos: Unit = - compileFile("../tests/pos-special/utf16encoded.scala", explicitUTF16).pos - - @Test def compileStdLibPos: Unit = - compileList(StdLibSources.whitelisted, scala2Mode.and("-migration", "-Yno-inline")).pos - - @Test def compileMixedPos: Unit = compileList( - List( - "../tests/pos/B.scala", - "../scala-scala/src/library/scala/collection/immutable/Seq.scala", - "../scala-scala/src/library/scala/collection/parallel/ParSeq.scala", - "../scala-scala/src/library/scala/package.scala", - "../scala-scala/src/library/scala/collection/GenSeqLike.scala", - "../scala-scala/src/library/scala/collection/SeqLike.scala", - "../scala-scala/src/library/scala/collection/generic/GenSeqFactory.scala" - ), - defaultOptions - ).pos - - @Test def compileIndexedSeqPos: Unit = - compileFile("../scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala", defaultOptions).pos - - @Test def compileParSetLikePos: Unit = - compileFile("../scala-scala/src/library/scala/collection/parallel/mutable/ParSetLike.scala", defaultOptions).pos - - @Test def compileParSetSubsetPos: Unit = compileList( - List( - "../scala-scala/src/library/scala/collection/parallel/mutable/ParSetLike.scala", - "../scala-scala/src/library/scala/collection/parallel/mutable/ParSet.scala", - "../scala-scala/src/library/scala/collection/mutable/SetLike.scala" - ), - scala2Mode - ).pos - - @Test def compileAstPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/ast", defaultOptions).pos - - @Test def compileConfigPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/config", defaultOptions).pos - - @Test def compileCorePos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/core", allowDeepSubtypes).pos - - @Test def compileCoreNoCheckPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/core", noCheckOptions ++ classPath).pos - - @Test def compileTransformPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/transform", allowDeepSubtypes).pos - - @Test def compileParsingPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/parsing", defaultOptions).pos - - @Test def compilePrintingPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/printing", defaultOptions).pos - - @Test def compileReportingPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/reporting", defaultOptions).pos - - @Test def compileTyperPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/typer", defaultOptions).pos - - @Test def compileUtilPos: Unit = - compileDir("../compiler/src/dotty/tools/dotc/util", defaultOptions).pos - - @Test def compileIoPos: Unit = - compileDir("../compiler/src/dotty/tools/io", defaultOptions).pos - - @Test def labelsPos: Unit = - compileFile("../tests/pos/Labels.scala", defaultOptions).times(2).pos - - @Test def testNonCyclic: Unit = compileList( - List( - "../compiler/src/dotty/tools/dotc/CompilationUnit.scala", - "../compiler/src/dotty/tools/dotc/core/Types.scala", - "../compiler/src/dotty/tools/dotc/ast/Trees.scala" - ), - defaultOptions.and("-Xprompt") - ).times(2).pos - - @Test def issue34Pos: Unit = compileList( - List( - "../compiler/src/dotty/tools/dotc/config/Properties.scala", - "../compiler/src/dotty/tools/dotc/config/PathResolver.scala" - ), - defaultOptions.and("-Xprompt") - ).times(2).pos - - @Test def javaInteropPos: Unit = - compileFilesInDir("../tests/pos-java-interop", defaultOptions).times(2).pos + compileFilesInDir("../tests/pos-scala2", scala2Mode).pos() + + @Test def compilePosMixedFlags: Unit = { + compileList(StdLibSources.whitelisted, scala2Mode.and("-migration", "-Yno-inline")) + + compileFile("../tests/pos/nullarify.scala", defaultOptions.and("-Ycheck:nullarify")) + + // this guy sucks, he changes the sourcefile itself: + // compileFile("../tests/pos-scala2/rewrites.scala", scala2Mode.and("-rewrite")) + + compileFile("../tests/pos-special/t8146a.scala", allowDeepSubtypes) + + compileFile("../tests/pos-special/utf8encoded.scala", explicitUTF8) + + compileFile("../tests/pos-special/utf16encoded.scala", explicitUTF16) + + compileList( + List( + "../tests/pos/B.scala", + "../scala-scala/src/library/scala/collection/immutable/Seq.scala", + "../scala-scala/src/library/scala/collection/parallel/ParSeq.scala", + "../scala-scala/src/library/scala/package.scala", + "../scala-scala/src/library/scala/collection/GenSeqLike.scala", + "../scala-scala/src/library/scala/collection/SeqLike.scala", + "../scala-scala/src/library/scala/collection/generic/GenSeqFactory.scala" + ), + defaultOptions + ) + + compileFilesInDir("../tests/pos-special/spec-t5545", defaultOptions) + + compileFile("../scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala", defaultOptions) + + compileFile("../scala-scala/src/library/scala/collection/parallel/mutable/ParSetLike.scala", defaultOptions) + + compileList( + List( + "../scala-scala/src/library/scala/collection/parallel/mutable/ParSetLike.scala", + "../scala-scala/src/library/scala/collection/parallel/mutable/ParSet.scala", + "../scala-scala/src/library/scala/collection/mutable/SetLike.scala" + ), + scala2Mode + ) + }.pos() + + @Test def compileCoreNoCheck: Unit = + compileDir("../compiler/src/dotty/tools/dotc/core", noCheckOptions ++ classPath).pos() + + @Test def compileDotcInternals: Unit = { + compileDir("../compiler/src/dotty/tools/dotc/ast", defaultOptions) + + compileDir("../compiler/src/dotty/tools/dotc/config", defaultOptions) + + compileDir("../compiler/src/dotty/tools/dotc/core", allowDeepSubtypes) + + compileDir("../compiler/src/dotty/tools/dotc/transform", allowDeepSubtypes) + + compileDir("../compiler/src/dotty/tools/dotc/parsing", defaultOptions) + + compileDir("../compiler/src/dotty/tools/dotc/printing", defaultOptions) + + compileDir("../compiler/src/dotty/tools/dotc/reporting", defaultOptions) + + compileDir("../compiler/src/dotty/tools/dotc/typer", defaultOptions) + + compileDir("../compiler/src/dotty/tools/dotc/util", defaultOptions) + + compileDir("../compiler/src/dotty/tools/io", defaultOptions) + }.pos() + + @Test def posTwice: Unit = { + compileFile("../tests/pos/Labels.scala", defaultOptions) + + compileFilesInDir("../tests/pos-java-interop", defaultOptions) + + compileFile("../tests/pos/t2168.scala", defaultOptions) + + compileFile("../tests/pos/erasure.scala", defaultOptions) + + compileFile("../tests/pos/Coder.scala", defaultOptions) + + compileFile("../tests/pos/blockescapes.scala", defaultOptions) + + compileFile("../tests/pos/collections.scala", defaultOptions) + + compileFile("../tests/pos/functions1.scala", defaultOptions) + + compileFile("../tests/pos/implicits1.scala", defaultOptions) + + compileFile("../tests/pos/inferred.scala", defaultOptions) + + compileFile("../tests/pos/Patterns.scala", defaultOptions) + + compileFile("../tests/pos/selftypes.scala", defaultOptions) + + compileFile("../tests/pos/varargs.scala", defaultOptions) + + compileFile("../tests/pos/vararg-pattern.scala", defaultOptions) + + compileFile("../tests/pos/opassign.scala", defaultOptions) + + compileFile("../tests/pos/typedapply.scala", defaultOptions) + + compileFile("../tests/pos/nameddefaults.scala", defaultOptions) + + compileFile("../tests/pos/desugar.scala", defaultOptions) + + compileFile("../tests/pos/sigs.scala", defaultOptions) + + compileFile("../tests/pos/typers.scala", defaultOptions) + + compileDir("../tests/pos/typedIdents", defaultOptions) + + compileFile("../tests/pos/assignments.scala", defaultOptions) + + compileFile("../tests/pos/packageobject.scala", defaultOptions) + + compileFile("../tests/pos/overloaded.scala", defaultOptions) + + compileFile("../tests/pos/overrides.scala", defaultOptions) + + compileDir("../tests/pos/java-override", defaultOptions) + + compileFile("../tests/pos/templateParents.scala", defaultOptions) + + compileFile("../tests/pos/overloadedAccess.scala", defaultOptions) + + compileFile("../tests/pos/approximateUnion.scala", defaultOptions) + + compileFilesInDir("../tests/pos/tailcall", defaultOptions) + + compileShallowFilesInDir("../tests/pos/pos_valueclasses", defaultOptions) + + compileFile("../tests/pos/subtyping.scala", defaultOptions) + + compileFile("../tests/pos/i0239.scala", defaultOptions) + + compileFile("../tests/pos/anonClassSubtyping.scala", defaultOptions) + + compileFile("../tests/pos/extmethods.scala", defaultOptions) + + compileFile("../tests/pos/companions.scala", defaultOptions) + + compileList( + List( + "../compiler/src/dotty/tools/dotc/CompilationUnit.scala", + "../compiler/src/dotty/tools/dotc/core/Types.scala", + "../compiler/src/dotty/tools/dotc/ast/Trees.scala" + ), + defaultOptions.and("-Xprompt") + ) + + compileList( + "testIssue34", + List( + "../compiler/src/dotty/tools/dotc/config/Properties.scala", + "../compiler/src/dotty/tools/dotc/config/PathResolver.scala" + ), + defaultOptions.and("-Xprompt") + ) + }.times(2).pos() // New tests ----------------------------------------------------------------- @Test def compileNew: Unit = - compileFilesInDir("../tests/new", defaultOptions).pos + compileFilesInDir("../tests/new", defaultOptions).pos() // Negative tests ------------------------------------------------------------ @Test def compileNeg: Unit = - compileShallowFilesInDir("../tests/neg", defaultOptions).neg - - @Test def typedIdentsNeg: Unit = - compileDir("../tests/neg/typedIdents", defaultOptions).neg - - @Test def typersNeg: Unit = - compileFile("../tests/neg/customArgs/typers.scala", allowDoubleBindings).neg - - @Test def overrideClassNeg: Unit = - compileFile("../tests/neg/customArgs/overrideClass.scala", scala2Mode).neg - - @Test def autoTuplingNeg: Unit = - compileFile("../tests/neg/customArgs/autoTuplingTest.scala", defaultOptions.and("-language:noAutoTupling")).neg - - @Test def i1050Neg: Unit = - compileFile("../tests/neg/customArgs/i1050.scala", defaultOptions.and("-strict")).neg - - @Test def i1240Neg: Unit = - compileFile("../tests/neg/customArgs/i1240.scala", allowDoubleBindings).neg - - @Test def i2002Neg: Unit = - compileFile("../tests/neg/customArgs/i2002.scala", allowDoubleBindings).neg - - @Test def nopredefNeg: Unit = - compileFile("../tests/neg/customArgs/nopredef.scala", defaultOptions.and("-Yno-predef")).neg - - @Test def noimportsNeg: Unit = - compileFile("../tests/neg/customArgs/noimports.scala", defaultOptions.and("-Yno-imports")).neg - - @Test def noimports2Neg: Unit = - compileFile("../tests/neg/customArgs/noimports2.scala", defaultOptions.and("-Yno-imports")).neg - - @Test def t1672bTailcallNeg: Unit = - compileFile("../tests/neg/tailcall/t1672b.scala", defaultOptions).neg - - @Test def t3275TailcallNeg: Unit = - compileFile("../tests/neg/tailcall/t3275.scala", defaultOptions).neg - - @Test def t6574TailcallNeg: Unit = - compileFile("../tests/neg/tailcall/t6574.scala", defaultOptions).neg - - @Test def tailrecTailcallNeg: Unit = - compileFile("../tests/neg/tailcall/tailrec.scala", defaultOptions).neg - - @Test def tailrec2TailcallNeg: Unit = - compileFile("../tests/neg/tailcall/tailrec-2.scala", defaultOptions).neg - - @Test def tailrec3TailcallNeg: Unit = - compileFile("../tests/neg/tailcall/tailrec-3.scala", defaultOptions).neg + compileShallowFilesInDir("../tests/neg", defaultOptions).neg() + + @Test def compileNegCustomFlags: Unit = { + compileFile("../tests/neg/customArgs/typers.scala", allowDoubleBindings) + + compileFile("../tests/neg/customArgs/overrideClass.scala", scala2Mode) + + compileFile("../tests/neg/customArgs/autoTuplingTest.scala", defaultOptions.and("-language:noAutoTupling")) + + compileFile("../tests/neg/customArgs/i1050.scala", defaultOptions.and("-strict")) + + compileFile("../tests/neg/customArgs/i1240.scala", allowDoubleBindings) + + compileFile("../tests/neg/customArgs/i2002.scala", allowDoubleBindings) + + compileFile("../tests/neg/customArgs/nopredef.scala", defaultOptions.and("-Yno-predef")) + + compileFile("../tests/neg/customArgs/noimports.scala", defaultOptions.and("-Yno-imports")) + + compileFile("../tests/neg/customArgs/noimports2.scala", defaultOptions.and("-Yno-imports")) + + compileFile("../tests/neg/tailcall/t1672b.scala", defaultOptions) + + compileFile("../tests/neg/tailcall/t3275.scala", defaultOptions) + + compileFile("../tests/neg/tailcall/t6574.scala", defaultOptions) + + compileFile("../tests/neg/tailcall/tailrec.scala", defaultOptions) + + compileFile("../tests/neg/tailcall/tailrec-2.scala", defaultOptions) + + compileFile("../tests/neg/tailcall/tailrec-3.scala", defaultOptions) + + compileDir("../tests/neg/typedIdents", defaultOptions) + }.neg() // Run tests ----------------------------------------------------------------- @Test def runAll: Unit = - compileFilesInDir("../tests/run", defaultOptions).run - - @Test def runArraycopy: Unit = - compileFile("../tests/run/arraycopy.scala", defaultOptions).run - - // Benchmark Tests ----------------------------------------------------------- - - @Test def t2168Pos: Unit = - compileFile("../tests/pos/t2168.scala", defaultOptions).times(2).pos - - @Test def erasurePos: Unit = - compileFile("../tests/pos/erasure.scala", defaultOptions).times(2).pos - - @Test def coderPos: Unit = - compileFile("../tests/pos/Coder.scala", defaultOptions).times(2).pos - - @Test def blockescapesPos: Unit = - compileFile("../tests/pos/blockescapes.scala", defaultOptions).times(2).pos - - @Test def collectionsPos: Unit = - compileFile("../tests/pos/collections.scala", defaultOptions).times(2).pos - - @Test def functions1Pos: Unit = - compileFile("../tests/pos/functions1.scala", defaultOptions).times(2).pos - - @Test def implicits1Pos: Unit = - compileFile("../tests/pos/implicits1.scala", defaultOptions).times(2).pos - - @Test def inferredPos: Unit = - compileFile("../tests/pos/inferred.scala", defaultOptions).times(2).pos - - @Test def patternsPos: Unit = - compileFile("../tests/pos/Patterns.scala", defaultOptions).times(2).pos - - @Test def selftypesPos: Unit = - compileFile("../tests/pos/selftypes.scala", defaultOptions).times(2).pos - - @Test def varargsPos: Unit = - compileFile("../tests/pos/varargs.scala", defaultOptions).times(2).pos - - @Test def varargPatternsPos: Unit = - compileFile("../tests/pos/vararg-pattern.scala", defaultOptions).times(2).pos - - @Test def opassignPos: Unit = - compileFile("../tests/pos/opassign.scala", defaultOptions).times(2).pos - - @Test def typedapplyPos: Unit = - compileFile("../tests/pos/typedapply.scala", defaultOptions).times(2).pos - - @Test def nameddefaultsPos: Unit = - compileFile("../tests/pos/nameddefaults.scala", defaultOptions).times(2).pos - - @Test def desugarPos: Unit = - compileFile("../tests/pos/desugar.scala", defaultOptions).times(2).pos - - @Test def sigsPos: Unit = - compileFile("../tests/pos/sigs.scala", defaultOptions).times(2).pos - - @Test def typersPos: Unit = - compileFile("../tests/pos/typers.scala", defaultOptions).times(2).pos - - @Test def typedIdentsPos: Unit = - compileDir("../tests/pos/typedIdents", defaultOptions).times(2).pos - - @Test def assignmentsPos: Unit = - compileFile("../tests/pos/assignments.scala", defaultOptions).times(2).pos - - @Test def packageobjectPos: Unit = - compileFile("../tests/pos/packageobject.scala", defaultOptions).times(2).pos - - @Test def overloadedPos: Unit = - compileFile("../tests/pos/overloaded.scala", defaultOptions).times(2).pos - - @Test def overridesPos: Unit = - compileFile("../tests/pos/overrides.scala", defaultOptions).times(2).pos - - @Test def javaOverridePos: Unit = - compileDir("../tests/pos/java-override", defaultOptions).times(2).pos - - @Test def templateParentsPos: Unit = - compileFile("../tests/pos/templateParents.scala", defaultOptions).times(2).pos - - @Test def overloadedAccessPos: Unit = - compileFile("../tests/pos/overloadedAccess.scala", defaultOptions).times(2).pos - - @Test def approximateUnionPos: Unit = - compileFile("../tests/pos/approximateUnion.scala", defaultOptions).times(2).pos - - @Test def tailcallPos: Unit = - compileFilesInDir("../tests/pos/tailcall", defaultOptions).times(2).pos - - @Test def valueclassesPos: Unit = - compileShallowFilesInDir("../tests/pos/pos_valueclasses", defaultOptions).times(2).pos - - @Test def subtypingPos: Unit = - compileFile("../tests/pos/subtyping.scala", defaultOptions).times(2).pos - - @Test def packageObjPos: Unit = - compileFile("../tests/pos/i0239.scala", defaultOptions).times(2).pos - - @Test def anonClassSubtypingPos: Unit = - compileFile("../tests/pos/anonClassSubtyping.scala", defaultOptions).times(2).pos - - @Test def extmethodsPos: Unit = - compileFile("../tests/pos/extmethods.scala", defaultOptions).times(2).pos - - @Test def companionsPos: Unit = - compileFile("../tests/pos/companions.scala", defaultOptions).times(2).pos + compileFilesInDir("../tests/run", defaultOptions).run() // Pickling Tests ------------------------------------------------------------ - @Test def testPickling: Unit = - compileFilesInDir("../tests/pickling", picklingOptions).pos - - @Test def testPicklingAst: Unit = - compileDir("../compiler/src/dotty/tools/dotc/ast", picklingOptions).pos - - @Test def testPicklingInf: Unit = - compileFile("../tests/pos/pickleinf.scala", picklingOptions).pos - - @Test def tastyNew: Unit = - compileFilesInDir("../tests/new", picklingOptions).pos - - @Test def tastyRuntime: Unit = - compileDir("../library/src/dotty/runtime", picklingOptions).pos - - @Test def tastyTools: Unit = - compileDir("../compiler/src/dotty/tools", picklingOptions).pos - - @Test def tastyBackendJvm: Unit = - compileDir("../compiler/src/dotty/tools/backend/jvm", picklingOptions).pos - - @Test def tastyDotc: Unit = - compileDir("../compiler/src/dotty/tools/dotc", picklingOptions).pos - - @Test def tastyDotcAst: Unit = - compileDir("../compiler/src/dotty/tools/dotc/ast", picklingOptions).pos - - @Test def tastyDotcConfig: Unit = - compileDir("../compiler/src/dotty/tools/dotc/config", picklingOptions).pos - - @Test def tastyCore: Unit = - compileDir("../compiler/src/dotty/tools/dotc/core", picklingOptions).pos - - @Test def tastyClassfile: Unit = - compileDir("../compiler/src/dotty/tools/dotc/core/classfile", picklingOptions).pos - - @Test def dotcTasty: Unit = - compileDir("../compiler/src/dotty/tools/dotc/core/tasty", picklingOptions).pos - - @Test def tastyUnpickleScala2: Unit = - compileDir("../compiler/src/dotty/tools/dotc/core/unpickleScala2", picklingOptions).pos - - @Test def tastyParsing: Unit = - compileDir("../compiler/src/dotty/tools/dotc/parsing", picklingOptions).pos - - @Test def tastyPrinting: Unit = - compileDir("../compiler/src/dotty/tools/dotc/printing", picklingOptions).pos - - @Test def tastyRepl: Unit = - compileDir("../compiler/src/dotty/tools/dotc/repl", picklingOptions).pos - - @Test def tastyRewrite: Unit = - compileDir("../compiler/src/dotty/tools/dotc/rewrite", picklingOptions).pos - - @Test def tastyTransform: Unit = - compileDir("../compiler/src/dotty/tools/dotc/transform", picklingOptions).pos - - @Test def tastyTyper: Unit = - compileDir("../compiler/src/dotty/tools/dotc/typer", picklingOptions).pos - - @Test def tastyUtil: Unit = - compileDir("../compiler/src/dotty/tools/dotc/util", picklingOptions).pos - - @Test def tastyIo: Unit = - compileDir("../compiler/src/dotty/tools/io", picklingOptions).pos - - @Test def tastyTests: Unit = - compileDir("../tests/tasty", picklingOptions).pos - + @Test def testPickling1: Unit = { + compileFilesInDir("../tests/new", picklingOptions) + + compileFilesInDir("../tests/pickling", picklingOptions) + + compileDir("../library/src/dotty/runtime", picklingOptions) + + compileDir("../compiler/src/dotty/tools/backend/jvm", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/ast", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/core", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/config", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/parsing", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/printing", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/repl", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/rewrite", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/transform", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/typer", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/util", picklingOptions) + + compileDir("../compiler/src/dotty/tools/io", picklingOptions) + + compileFile("../tests/pos/pickleinf.scala", picklingOptions) + }.limitThreads(4).pos() + + @Test def testPickling2: Unit = { + compileDir("../compiler/src/dotty/tools/dotc/core/classfile", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/core/tasty", picklingOptions) + + compileDir("../compiler/src/dotty/tools/dotc/core/unpickleScala2", picklingOptions) + }.limitThreads(4).pos() + + @Test def testPickling3: Unit = { + compileDir("../compiler/src/dotty/tools", picklingOptions) + }.limitThreads(4).pos() + + @Test def testPickling4: Unit = { + compileDir("../compiler/src/dotty/tools/dotc", picklingOptions) + }.limitThreads(4).pos() + + /** The purpose of this test is two-fold, being able to compile dotty + * bootstrapped, and making sure that TASTY can link against a compiled + * version of Dotty + */ @Test def tastyBootstrap: Unit = { def dotty1 = compileDir("../compiler/src/dotty", allowDeepSubtypes.and("-Ycheck-reentrant", "-strict")) |