summaryrefslogtreecommitdiff
path: root/src/partest
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-01-20 18:19:47 +0000
committerPaul Phillips <paulp@improving.org>2011-01-20 18:19:47 +0000
commitd8994ad4d1436f5e1e31ea3529c115f119302767 (patch)
treec989e74253737d090ea8a88738932641674b5322 /src/partest
parenta8a7481ab79430bef3ca9524538fa5217e0e14d8 (diff)
downloadscala-d8994ad4d1436f5e1e31ea3529c115f119302767.tar.gz
scala-d8994ad4d1436f5e1e31ea3529c115f119302767.tar.bz2
scala-d8994ad4d1436f5e1e31ea3529c115f119302767.zip
Made partest update a checkfile even if it does...
Made partest update a checkfile even if it doesn't exist. No review.
Diffstat (limited to 'src/partest')
-rw-r--r--src/partest/scala/tools/partest/nest/Worker.scala42
1 files 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" =>