aboutsummaryrefslogtreecommitdiff
path: root/compiler/test
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2017-01-28 20:38:36 +0100
committerGitHub <noreply@github.com>2017-01-28 20:38:36 +0100
commit6e8933ccc40bbfe1a92c32c2d8314fd6facef12a (patch)
treea2a741e5e1c19caaab034a46c940cbbbd1a74eef /compiler/test
parentd5201d3da5b6edb1abc61b51f125c0a3fd56000c (diff)
parentfc2f9314be7281e24e4ce7434f97cc42cb2f01d4 (diff)
downloaddotty-6e8933ccc40bbfe1a92c32c2d8314fd6facef12a.tar.gz
dotty-6e8933ccc40bbfe1a92c32c2d8314fd6facef12a.tar.bz2
dotty-6e8933ccc40bbfe1a92c32c2d8314fd6facef12a.zip
Merge pull request #1896 from dotty-staging/fix/bootstrap
Add sbt-based bootstrap
Diffstat (limited to 'compiler/test')
-rw-r--r--compiler/test/dotc/build.scala40
-rw-r--r--compiler/test/dotc/tests.scala2
-rw-r--r--compiler/test/dotty/Jars.scala20
-rw-r--r--compiler/test/dotty/partest/DPConsoleRunner.scala17
-rw-r--r--compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala4
5 files changed, 23 insertions, 60 deletions
diff --git a/compiler/test/dotc/build.scala b/compiler/test/dotc/build.scala
deleted file mode 100644
index b1c8db7c7..000000000
--- a/compiler/test/dotc/build.scala
+++ /dev/null
@@ -1,40 +0,0 @@
-package dotc
-
-import java.io.File
-
-object build extends tests {
-
- private def deleteFilesInFolder(folder: File, deleteFolder: Boolean = false): Unit = {
- val files = folder.listFiles()
- if(files != null) { //some JVMs return null for empty dirs
- for(f <- files) {
- if(f.isDirectory) {
- deleteFilesInFolder(f, deleteFolder = true)
- } else {
- f.delete()
- }
- }
- }
- if(deleteFolder) folder.delete()
- }
-
- def clearOutput() = {
- deleteFilesInFolder(new File(defaultOutputDir)) // clear previous output
- val keepFile = new File(defaultOutputDir + ".keep")
- keepFile.createNewFile()
- }
-
- def main(args: Array[String]): Unit = {
- println("---------- Building bootstrapped dotty-lib ----------------------------------------------")
- clearOutput()
- dottyBootedLib
- val p1 = Runtime.getRuntime.exec(Array("jar", "cf", "dotty-lib.jar", "-C", "out", "."))
- p1.waitFor()
-
- println("---------- Building bootstrapped dotty depending on dotty-lib compiled by dotty ----------")
- clearOutput()
- dottyDependsOnBootedLib
- val p2 = Runtime.getRuntime.exec(Array("jar", "cf", "dotty.jar", "-C", "out", "."))
- p2.waitFor()
- }
-}
diff --git a/compiler/test/dotc/tests.scala b/compiler/test/dotc/tests.scala
index 608132bca..6ef6bb741 100644
--- a/compiler/test/dotc/tests.scala
+++ b/compiler/test/dotc/tests.scala
@@ -61,7 +61,7 @@ class tests extends CompilerTest {
List("-classpath", paths)
}
- implicit val defaultOptions = noCheckOptions ++ {
+ implicit val defaultOptions: List[String] = noCheckOptions ++ {
if (isRunByJenkins) List("-Ycheck:tailrec,resolveSuper,mixin,restoreScopes,labelDef") // should be Ycheck:all, but #725
else List("-Ycheck:tailrec,resolveSuper,mixin,restoreScopes,labelDef")
} ++ checkOptions ++ classPath
diff --git a/compiler/test/dotty/Jars.scala b/compiler/test/dotty/Jars.scala
index 6fc9b0fde..f062f8b25 100644
--- a/compiler/test/dotty/Jars.scala
+++ b/compiler/test/dotty/Jars.scala
@@ -1,20 +1,18 @@
package dotty
-/** Jars used when compiling test, defaults to sbt locations */
+/** Jars used when compiling test, normally set from the sbt build */
object Jars {
- val dottyLib: String = sys.env.get("DOTTY_LIB") getOrElse {
- "../library/target/scala-2.11/dotty-library_2.11-0.1.1-SNAPSHOT.jar"
- }
+ val dottyLib: String = sys.env.get("DOTTY_LIB")
+ .getOrElse(sys.props("dotty.tests.classes.library"))
- val dottyCompiler: String = sys.env.get("DOTTY_COMPILER") getOrElse {
- "./target/scala-2.11/dotty-compiler_2.11-0.1.1-SNAPSHOT.jar"
- }
+ val dottyCompiler: String = sys.env.get("DOTTY_COMPILER")
+ .getOrElse(sys.props("dotty.tests.classes.compiler"))
- val dottyInterfaces: String = sys.env.get("DOTTY_INTERFACE") getOrElse {
- "../interfaces/target/dotty-interfaces-0.1.1-SNAPSHOT.jar"
- }
+ val dottyInterfaces: String = sys.env.get("DOTTY_INTERFACE")
+ .getOrElse(sys.props("dotty.tests.classes.interfaces"))
- val dottyExtras: List[String] = sys.env.get("DOTTY_EXTRAS")
+ val dottyExtras: List[String] = Option(sys.env.get("DOTTY_EXTRAS")
+ .getOrElse(sys.props("dotty.tests.extraclasspath")))
.map(_.split(":").toList).getOrElse(Nil)
val dottyReplDeps: List[String] = dottyLib :: dottyExtras
diff --git a/compiler/test/dotty/partest/DPConsoleRunner.scala b/compiler/test/dotty/partest/DPConsoleRunner.scala
index f418d2c37..7a25af6b7 100644
--- a/compiler/test/dotty/partest/DPConsoleRunner.scala
+++ b/compiler/test/dotty/partest/DPConsoleRunner.scala
@@ -202,7 +202,7 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn
import FileManager.joinPaths
// compile using command-line javac compiler
val args = Seq(
- javacCmdPath,
+ suiteRunner.javacCmdPath, // FIXME: Dotty deviation just writing "javacCmdPath" doesn't work
"-d",
outDir.getAbsolutePath,
"-classpath",
@@ -300,11 +300,11 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn
// Don't get confused, the neg test passes when compilation fails for at
// least one round (optionally checking the number of compiler errors and
// compiler console output)
- case class CompFailed() extends NegTestState
+ case object CompFailed extends NegTestState
// the neg test fails when all rounds return either of these:
case class CompFailedButWrongNErr(expected: String, found: String) extends NegTestState
- case class CompFailedButWrongDiff() extends NegTestState
- case class CompSucceeded() extends NegTestState
+ case object CompFailedButWrongDiff extends NegTestState
+ case object CompSucceeded extends NegTestState
def nerrIsOk(reason: String) = {
val nerrFinder = """compilation failed with (\d+) errors""".r
@@ -350,7 +350,7 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn
if (existsNerr) false
else {
val existsDiff = failureStates.exists({
- case CompFailedButWrongDiff() =>
+ case CompFailedButWrongDiff =>
nextTestActionFailing(s"output differs")
true
case _ =>
@@ -398,8 +398,13 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn
override def extraClasspath =
suiteRunner.fileManager.asInstanceOf[DottyFileManager].extraJarList ::: super.extraClasspath
+
+ // FIXME: Dotty deviation: error if return type is omitted:
+ // overriding method cleanup in class Runner of type ()Unit;
+ // method cleanup of type => Boolean | Unit has incompatible type
+
// override to keep class files if failed and delete clog if ok
- override def cleanup = if (lastState.isOk) {
+ override def cleanup: Unit = if (lastState.isOk) {
logFile.delete
cLogFile.delete
Directory(outDir).deleteRecursively
diff --git a/compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala b/compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala
index 32f842e92..806e1af46 100644
--- a/compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala
+++ b/compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala
@@ -10,11 +10,11 @@ import ast.untpd._
import ast.{ Trees => d }
import Parsers.Parser
import util.SourceFile
-import core.Contexts.ContextBase
+import core.Contexts._
import core.Flags
object ModifiersParsingTest {
- implicit val ctx = (new ContextBase).initialCtx
+ implicit val ctx: Context = (new ContextBase).initialCtx
implicit def parse(code: String): Tree = {
val (_, stats) = new Parser(new SourceFile("<meta>", code.toCharArray)).templateStatSeq()