Normalize output for windows tests

This commit is contained in:
Alexey Tsvetkov
2016-03-18 14:46:16 +03:00
parent a851bb0fff
commit f3ee255436
3 changed files with 12 additions and 7 deletions
@@ -1,6 +1,7 @@
package org.jetbrains.kotlin.gradle package org.jetbrains.kotlin.gradle
import com.google.common.io.Files import com.google.common.io.Files
import com.intellij.openapi.util.io.FileUtil
import org.gradle.api.logging.LogLevel import org.gradle.api.logging.LogLevel
import org.jetbrains.kotlin.gradle.util.createGradleCommand import org.jetbrains.kotlin.gradle.util.createGradleCommand
import org.jetbrains.kotlin.gradle.util.runProcess import org.jetbrains.kotlin.gradle.util.runProcess
@@ -171,8 +172,9 @@ abstract class BaseGradleIT {
} }
fun CompiledProject.assertContainFiles(expected: Iterable<String>, actual: Iterable<String>, messagePrefix: String = ""): CompiledProject { fun CompiledProject.assertContainFiles(expected: Iterable<String>, actual: Iterable<String>, messagePrefix: String = ""): CompiledProject {
val actualSet = actual.toSortedSet() val expectedNormalized = expected.map(FileUtil::normalize).toSortedSet()
assertTrue(actualSet.containsAll(expected.toList()), messagePrefix + "expected files: ${expected.toSortedSet().joinToString()}\n !in actual files: ${actualSet.joinToString()}") val actualNormalized = actual.map(FileUtil::normalize).toSortedSet()
assertTrue(actualNormalized.containsAll(expectedNormalized), messagePrefix + "expected files: ${expectedNormalized.joinToString()}\n !in actual files: ${actualNormalized.joinToString()}")
return this return this
} }
@@ -42,18 +42,18 @@ class BuildLogParserParametrizedIT : BaseGradleIT() {
p.printlnSorted(stage.compileErrors) p.printlnSorted(stage.compileErrors)
} }
val actual = sb.toString() val actualNormalized = sb.toString().normalizeLineEnds()
val expectedFile = File(testDir, EXPECTED_PARSED_LOG_FILE_NAME) val expectedFile = File(testDir, EXPECTED_PARSED_LOG_FILE_NAME)
if (!expectedFile.isFile) { if (!expectedFile.isFile) {
expectedFile.createNewFile() expectedFile.createNewFile()
expectedFile.writeText(actual) expectedFile.writeText(actualNormalized)
throw AssertionError("Expected file log did not exist, created: $expectedFile") throw AssertionError("Expected file log did not exist, created: $expectedFile")
} }
val expectedContent = expectedFile.readText() val expectedNormalized = expectedFile.readText().normalizeLineEnds()
Assert.assertEquals("Parsed content was unexpected: ", actual, expectedContent) Assert.assertEquals("Parsed content was unexpected: ", expectedNormalized, actualNormalized)
} }
companion object { companion object {
@@ -77,3 +77,5 @@ private fun <T : Comparable<T>> Printer.printlnSorted(elements: Iterable<T>) {
popIndent() popIndent()
} }
private fun String.normalizeLineEnds(): String =
lines().map { it.trimEnd() }.joinToString(separator="\n")
@@ -1,5 +1,6 @@
package org.jetbrains.kotlin.gradle.incremental package org.jetbrains.kotlin.gradle.incremental
import com.intellij.openapi.util.io.FileUtil
import java.io.File import java.io.File
class BuildStep( class BuildStep(
@@ -44,7 +45,7 @@ fun parseTestBuildLog(file: File): List<BuildStep> {
} }
if (readFiles) { if (readFiles) {
val path = line.trim() val path = FileUtil.normalize(line.trim())
if (path.endsWith(".kt")) { if (path.endsWith(".kt")) {
compiledKotlinFiles.add(path) compiledKotlinFiles.add(path)