From adfe78d740b2443dd09c9008c78bc98f0f3894a0 Mon Sep 17 00:00:00 2001 From: vsalvis Date: Wed, 20 May 2015 13:43:14 +0200 Subject: Update-check option for partest, added "do not edit" header --- test/test/CompilerTest.scala | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'test/test/CompilerTest.scala') 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)) } -- cgit v1.2.3