aboutsummaryrefslogtreecommitdiff
path: root/test/test/CompilerTest.scala
diff options
context:
space:
mode:
authorvsalvis <salvisbergvera@gmail.com>2015-05-20 13:43:14 +0200
committervsalvis <salvisbergvera@gmail.com>2015-05-22 11:13:41 +0200
commitadfe78d740b2443dd09c9008c78bc98f0f3894a0 (patch)
treec3dbfb7098b1fa3f7ae2f08e6a23147d9f71277b /test/test/CompilerTest.scala
parented31c2a82d6b59ef092e17bd8811278f5ffd15e9 (diff)
downloaddotty-adfe78d740b2443dd09c9008c78bc98f0f3894a0.tar.gz
dotty-adfe78d740b2443dd09c9008c78bc98f0f3894a0.tar.bz2
dotty-adfe78d740b2443dd09c9008c78bc98f0f3894a0.zip
Update-check option for partest, added "do not edit" header
Diffstat (limited to 'test/test/CompilerTest.scala')
-rw-r--r--test/test/CompilerTest.scala31
1 files changed, 15 insertions, 16 deletions
diff --git a/test/test/CompilerTest.scala b/test/test/CompilerTest.scala
index 36a1b9d34..4a8ec6da0 100644
--- a/test/test/CompilerTest.scala
+++ b/test/test/CompilerTest.scala
@@ -101,7 +101,7 @@ abstract class CompilerTest extends DottyTest {
}
}
}
- def runFile(prefix: String, fileName: String, args: List[String] = Nil, xerrors: Int = 0,
+ def runFile(prefix: String, fileName: String, args: List[String] = Nil, xerrors: Int = 0,
extension: String = ".scala")(implicit defaultOptions: List[String]): Unit =
compileFile(prefix, fileName, args, xerrors, extension, true)
@@ -131,7 +131,7 @@ abstract class CompilerTest extends DottyTest {
val firstDest = Directory(DPConfig.testRoot + JFile.separator + kind + JFile.separator + dirName)
computeDestAndCopyFiles(sourceDir, firstDest, kind, flags, xerrors.toString)
if (deep == "deep")
- deleteDir(sourceDir)
+ Directory(sourceDir).deleteRecursively
} else {
throw new java.io.FileNotFoundException(s"Unable to locate test dir $prefix$dirName")
}
@@ -172,7 +172,7 @@ abstract class CompilerTest extends DottyTest {
recCopyFiles(jfile, destDir / jfile.getName)
})
compileDir(DPConfig.testRoot + JFile.separator, testName, args, xerrors)
- deleteDir(destDir.jfile)
+ destDir.deleteRecursively
}
}
@@ -186,14 +186,14 @@ abstract class CompilerTest extends DottyTest {
}
// In particular, don't copy flags from scalac tests
- private val extensionsToCopy = scala.collection.immutable.HashSet("scala", "java", "check")
+ private val extensionsToCopy = scala.collection.immutable.HashSet("scala", "java")
/** Determines what kind of test to run. */
private def testKind(prefixDir: String, xerrors: Int, runTest: Boolean) = {
if (runTest) "run"
else if (xerrors > 0) "neg"
else if (prefixDir.endsWith("run" + JFile.separator)) {
- log("WARNING: test is being run as pos test despite being in a run directory. " +
+ log("WARNING: test is being run as pos test despite being in a run directory. " +
"Use runFile/runDir instead of compileFile/compileDir to do a run test")
"pos"
} else "pos"
@@ -239,10 +239,12 @@ abstract class CompilerTest extends DottyTest {
if (nerr != "0")
dest.changeExtension("nerr").createFile(true).writeAll(nerr)
sourceFile.changeExtension("check").ifFile({ check =>
- if (kind == "run")
+ if (kind == "run") {
FileManager.copyFile(check.jfile, dest.changeExtension("check").jfile)
- else
+ dest.changeExtension("checksrc").createFile(true).writeAll("check file generated from source:\n" + check.toString)
+ } else {
log(s"WARNING: ignoring $check for test kind $kind")
+ }
})
}
@@ -253,7 +255,12 @@ abstract class CompilerTest extends DottyTest {
processFileDir(sourceFile, { sf =>
if (extensionsToCopy.contains(sf.extension)) {
dest.parent.jfile.mkdirs
- FileManager.copyFile(sourceFile.jfile, dest.jfile)
+ dest.toFile.writeAll("/* ==========================================\n",
+ " * ========= AUTOMATICALLY GENERATED ========\n",
+ " * ========= DO NOT EDIT THIS FILE ==========\n",
+ " * ==========================================\n",
+ " * Original: " + sf.toString + " */\n\n",
+ sf.slurp())
} else {
log(s"WARNING: ignoring $sf")
}
@@ -326,14 +333,6 @@ abstract class CompilerTest extends DottyTest {
destDir.jfile
}
- /** Recursively deletes directories (and files). */
- private def deleteDir(dir: JFile): Unit = {
- val children = dir.listFiles
- if (children != null)
- children.foreach(deleteDir(_))
- dir.delete
- }
-
/** Write either to console (JUnit) or log file (partest). */
private def log(msg: String) = logFile.map(_.appendAll(msg + "\n")).getOrElse(println(msg))
}