summaryrefslogtreecommitdiff
path: root/src/partest
diff options
context:
space:
mode:
Diffstat (limited to 'src/partest')
-rw-r--r--src/partest/scala/tools/partest/nest/ConsoleRunner.scala11
-rw-r--r--src/partest/scala/tools/partest/nest/FileManager.scala1
-rw-r--r--src/partest/scala/tools/partest/nest/NestUI.scala1
-rw-r--r--src/partest/scala/tools/partest/nest/Worker.scala9
4 files changed, 16 insertions, 6 deletions
diff --git a/src/partest/scala/tools/partest/nest/ConsoleRunner.scala b/src/partest/scala/tools/partest/nest/ConsoleRunner.scala
index fe77621eee..eb7d9b9e2b 100644
--- a/src/partest/scala/tools/partest/nest/ConsoleRunner.scala
+++ b/src/partest/scala/tools/partest/nest/ConsoleRunner.scala
@@ -56,7 +56,7 @@ class ConsoleRunner extends DirectRunner {
private val unaryArgs = List(
"--pack", "--all", "--verbose", "--show-diff", "--show-log",
- "--failed", "--version", "--ansi", "--debug"
+ "--failed", "--update-check", "--version", "--ansi", "--debug"
) ::: testSetArgs
private val binaryArgs = List(
@@ -86,10 +86,11 @@ class ConsoleRunner extends DirectRunner {
def argNarrowsTests(x: String) = denotesTestSet(x) || denotesTestFile(x) || denotesTestDir(x)
- NestUI._verbose = parsed isSet "--verbose"
- fileManager.showDiff = parsed isSet "--show-diff"
- fileManager.showLog = parsed isSet "--show-log"
- fileManager.failed = parsed isSet "--failed"
+ NestUI._verbose = parsed isSet "--verbose"
+ fileManager.showDiff = parsed isSet "--show-diff"
+ fileManager.updateCheck = parsed isSet "--update-check"
+ fileManager.showLog = parsed isSet "--show-log"
+ fileManager.failed = parsed isSet "--failed"
if (parsed isSet "--ansi") NestUI initialize NestUI.MANY
if (parsed isSet "--timeout") fileManager.timeout = parsed("--timeout")
diff --git a/src/partest/scala/tools/partest/nest/FileManager.scala b/src/partest/scala/tools/partest/nest/FileManager.scala
index bdbb34b3c4..35f4494f65 100644
--- a/src/partest/scala/tools/partest/nest/FileManager.scala
+++ b/src/partest/scala/tools/partest/nest/FileManager.scala
@@ -43,6 +43,7 @@ trait FileManager {
var LATEST_LIB: String
var showDiff = false
+ var updateCheck = false
var showLog = false
var failed = false
diff --git a/src/partest/scala/tools/partest/nest/NestUI.scala b/src/partest/scala/tools/partest/nest/NestUI.scala
index efff4e8375..4a632a98d5 100644
--- a/src/partest/scala/tools/partest/nest/NestUI.scala
+++ b/src/partest/scala/tools/partest/nest/NestUI.scala
@@ -87,6 +87,7 @@ object NestUI {
println(" --show-log show log")
println(" --show-diff show diff between log and check file")
println(" --failed run only those tests that failed during the last run")
+ println(" --update-check instead of failing tests with output change, update checkfile. (Use with care!)")
println(" --verbose show progress information")
println(" --buildpath set (relative) path to build jars")
println(" ex.: --buildpath build/pack")
diff --git a/src/partest/scala/tools/partest/nest/Worker.scala b/src/partest/scala/tools/partest/nest/Worker.scala
index 2a8bf18c7a..0c12f7cad8 100644
--- a/src/partest/scala/tools/partest/nest/Worker.scala
+++ b/src/partest/scala/tools/partest/nest/Worker.scala
@@ -349,7 +349,14 @@ class Worker(val fileManager: FileManager, params: TestRunParams) extends Actor
def compareOutput(dir: File, fileBase: String, kind: String, logFile: File): String =
// if check file exists, compare with log file
getCheckFile(dir, fileBase, kind) match {
- case Some(f) => fileManager.compareFiles(logFile, f.jfile)
+ case Some(f) =>
+ val diff = fileManager.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)
}