From 00f60553dcfd698f51e9f659b7716729b479f0db Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Fri, 26 Oct 2018 19:22:26 +0300 Subject: [PATCH] Try 0 and 1 starting lines in Kapt location mapping tests --- .../org/jetbrains/kotlin/gradle/Kapt3IT.kt | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt index 93e49271e40..597b3378a02 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt @@ -355,22 +355,27 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testLocationMapping() { - fun String.modifyNumbers(fn: (Int) -> Int): String = - replace("\\d+".toRegex()) { fn(it.value.toInt()).toString() } - val project = Project("locationMapping", directoryPrefix = "kapt2") val regex = "((Test\\.java)|(test\\.kt)):(\\d+): error: GenError element".toRegex() fun CompiledProject.getErrorMessages(): String = - regex.findAll(output) - .map { it.value } - .joinToString("\n") { if (isWindows) it.modifyNumbers { it + 1 } else it } + regex.findAll(output).map { it.value }.joinToString("\n") + + fun genJavaErrorString(vararg lines: Int) = + lines.joinToString("\n") { "Test.java:$it: error: GenError element" } + + fun genKotlinErrorString(vararg lines: Int) = + lines.joinToString("\n") { "test.kt:$it: error: GenError element" } project.build("build") { assertFailed() - - val expected = arrayOf(9, 17).joinToString("\n") { "Test.java:$it: error: GenError element" } - Assert.assertEquals(expected, getErrorMessages()) + val actual = getErrorMessages() + // try as 0 starting lines first, then as 1 starting line + try { + Assert.assertEquals(genJavaErrorString(9, 17), actual) + } catch (e: AssertionError) { + Assert.assertEquals(genJavaErrorString(10, 18), actual) + } } project.projectDir.getFileByName("build.gradle").modify { @@ -379,9 +384,13 @@ open class Kapt3IT : Kapt3BaseIT() { project.build("build") { assertFailed() - - val expected = arrayOf(3, 7).joinToString("\n") { "test.kt:$it: error: GenError element" } - Assert.assertEquals(expected, getErrorMessages()) + val actual = getErrorMessages() + // try as 0 starting lines first, then as 1 starting line + try { + Assert.assertEquals(genKotlinErrorString(2, 6), actual) + } catch (e: AssertionError) { + Assert.assertEquals(genKotlinErrorString(3, 7), actual) + } } }