From e3b4713943bdd688b1b4a7dd741e6ad22a34271b Mon Sep 17 00:00:00 2001 From: Som Snytt Date: Thu, 6 Apr 2017 16:36:07 -0700 Subject: [PATCH] Diff transcript shows correct order The built-in diff now correctly shows `diff logfile checkfile` as advertised. Those words are deduplicated. Also, if there is no local git command, don't bother copying the check file to a temp file. --- src/main/scala/scala/tools/partest/nest/Runner.scala | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/scala/scala/tools/partest/nest/Runner.scala b/src/main/scala/scala/tools/partest/nest/Runner.scala index 40b7da8..045b85b 100644 --- a/src/main/scala/scala/tools/partest/nest/Runner.scala +++ b/src/main/scala/scala/tools/partest/nest/Runner.scala @@ -297,10 +297,11 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner, val nestUI: NestU b.toList } + // diff logfile checkfile def currentDiff = { val logged = file2String(logFile).linesIfNonEmpty.toList - val (other, othername) = if (checkFile.canRead) (filteredCheck, checkFile.getName) else (Nil, "empty") - compareContents(original = other, revised = logged, originalName = othername, revisedName = logFile.getName) + val (checked, checkname) = if (checkFile.canRead) (filteredCheck, checkFile.getName) else (Nil, "empty") + compareContents(original = logged, revised = checked, originalName = logFile.getName, revisedName = checkname) } val gitRunner = List("/usr/local/bin/git", "/usr/bin/git") map (f => new java.io.File(f)) find (_.canRead) @@ -392,8 +393,11 @@ class Runner(val testFile: File, val suiteRunner: SuiteRunner, val nestUI: NestU val bestDiff = if (updating.isEmpty) "" else if (checkFile.canRead) - withTempFile(outFile, fileBase, filteredCheck) { f => - gitDiff(logFile, f) getOrElse f"diff $logFile $checkFile%n$diff" + gitRunner match { + case None => diff + case _ => withTempFile(outFile, fileBase, filteredCheck) { f => + gitDiff(logFile, f) getOrElse diff + } } else diff _transcript append bestDiff