From d8994ad4d1436f5e1e31ea3529c115f119302767 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Thu, 20 Jan 2011 18:19:47 +0000 Subject: Made partest update a checkfile even if it does... Made partest update a checkfile even if it doesn't exist. No review. --- src/partest/scala/tools/partest/nest/Worker.scala | 42 +++++++++++------------ 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/src/partest/scala/tools/partest/nest/Worker.scala b/src/partest/scala/tools/partest/nest/Worker.scala index 4ac0b7f04b..71d446f4ef 100644 --- a/src/partest/scala/tools/partest/nest/Worker.scala +++ b/src/partest/scala/tools/partest/nest/Worker.scala @@ -349,28 +349,29 @@ class Worker(val fileManager: FileManager, params: TestRunParams) extends Actor runCommand(cmd, logFile) } - def getCheckFile(dir: File) = { - def chkFile(s: String) = Directory(dir) / "%s%s.check".format(fileBase, s) - val checkFile = if (chkFile("").isFile) chkFile("") else chkFile("-" + kind) + def getCheckFilePath(dir: File, suffix: String = "") = { + def chkFile(s: String) = (Directory(dir) / "%s%s.check".format(fileBase, s)).toFile - Some(checkFile) filter (_.canRead) + if (chkFile("").isFile || suffix == "") chkFile("") + else chkFile("-" + suffix) } + def getCheckFile(dir: File) = Some(getCheckFilePath(dir, kind)) filter (_.canRead) - def existsCheckFile(dir: File) = getCheckFile(dir).isDefined - - def compareOutput(dir: File, logFile: File): String = + def compareOutput(dir: File, logFile: File): String = { + val checkFile = getCheckFilePath(dir, kind) // if check file exists, compare with log file - getCheckFile(dir) match { - case Some(f) => - val diff = compareFiles(logFile, f.jfile) - if (diff != "" && fileManager.updateCheck) { - NestUI.verbose("output differs from log file: updating checkfile\n") - f.toFile writeAll file2String(logFile) - "" - } - else diff - case _ => file2String(logFile) + val diff = + if (checkFile.canRead) compareFiles(logFile, checkFile.jfile) + else file2String(logFile) + + if (diff != "" && fileManager.updateCheck) { + NestUI.verbose("output differs from log file: updating checkfile\n") + val toWrite = if (checkFile.exists) checkFile else getCheckFilePath(dir, "") + toWrite writeAll file2String(logFile) + "" } + else diff + } def file2String(f: File) = try SFile(f).slurp() @@ -582,11 +583,8 @@ class Worker(val fileManager: FileManager, params: TestRunParams) extends Actor // compare log file to check file val dir = file.getParentFile - diffCheck( - // diff is contents of logFile - if (!existsCheckFile(dir)) file2String(logFile) - else compareOutput(dir, logFile) - ) + // diff is contents of logFile + diffCheck(compareOutput(dir, logFile)) }) case "run" | "jvm" => -- cgit v1.2.3