diff options
author | Philipp Haller <hallerp@gmail.com> | 2008-04-07 16:34:10 +0000 |
---|---|---|
committer | Philipp Haller <hallerp@gmail.com> | 2008-04-07 16:34:10 +0000 |
commit | f6c4b03cb2f8d3dfe44a1a147ac698f232ad302c (patch) | |
tree | 4a34ee979dfa7c035da30c40352ad62edbe8dc50 | |
parent | 9d37cdde4271f2e8016e369c90b2748616d87e49 (diff) | |
download | scala-f6c4b03cb2f8d3dfe44a1a147ac698f232ad302c.tar.gz scala-f6c4b03cb2f8d3dfe44a1a147ac698f232ad302c.tar.bz2 scala-f6c4b03cb2f8d3dfe44a1a147ac698f232ad302c.zip |
Fixed issue that caused neg tests to succeed if...
Fixed issue that caused neg tests to succeed if no check file was
present.
-rw-r--r-- | src/partest/scala/tools/partest/nest/Worker.scala | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/partest/scala/tools/partest/nest/Worker.scala b/src/partest/scala/tools/partest/nest/Worker.scala index e59db11fd9..68ff696c6f 100644 --- a/src/partest/scala/tools/partest/nest/Worker.scala +++ b/src/partest/scala/tools/partest/nest/Worker.scala @@ -217,6 +217,17 @@ class Worker(val fileManager: FileManager) extends Actor { } } + def existsCheckFile(dir: File, fileBase: String, kind: String) = { + val checkFile = { + val chkFile = new File(dir, fileBase + ".check") + if (chkFile.isFile) + chkFile + else + new File(dir, fileBase + "-" + kind + ".check") + } + checkFile.exists && checkFile.canRead + } + def compareOutput(dir: File, fileBase: String, kind: String, logFile: File): String = { // if check file exists, compare with log file val checkFile = { @@ -230,6 +241,16 @@ class Worker(val fileManager: FileManager) extends Actor { else fileManager.compareFiles(logFile, checkFile) } + def file2String(logFile: File) = { + val logReader = new BufferedReader(new FileReader(logFile)) + val strWriter = new StringWriter + val logWriter = new PrintWriter(strWriter, true) + val logAppender = new StreamAppender(logReader, logWriter) + logAppender.run() + logReader.close() + strWriter.toString + } + /** Runs a list of tests. * * @param kind The test kind (pos, neg, run, etc.) @@ -333,7 +354,12 @@ class Worker(val fileManager: FileManager) extends Actor { } else { // compare log file to check file val fileBase = basename(file.getName) val dir = file.getParentFile - diff = compareOutput(dir, fileBase, kind, logFile) + if (!existsCheckFile(dir, fileBase, kind)) { + // diff is contents of logFile + diff = file2String(logFile) + } else + diff = compareOutput(dir, fileBase, kind, logFile) + if (!diff.equals("")) { NestUI.verbose("output differs from log file\n") succeeded = false |