From f748dc625c34aa5ab02d0c5776963a669a77a82c Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 16 Mar 2017 19:25:05 +0300 Subject: [PATCH] Minor: print errors to stderr when gradle test build It takes time to find compile errors or exceptions, when a Gradle test build fails, because a debug log is very verbose. This change prints all error messages from Gradle when a test build fails unexpectedly. --- .../org/jetbrains/kotlin/gradle/BaseGradleIT.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index 8f2a9be1b05..6cea1fe8123 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -191,9 +191,19 @@ abstract class BaseGradleIT { } } - fun CompiledProject.assertSuccessful(): CompiledProject { - assertEquals(0, resultCode, "Gradle build failed") - return this + fun CompiledProject.assertSuccessful() { + if (resultCode == 0) return + + val errors = "(?m)^.*\\[ERROR] \\[\\S+] (.*)$".toRegex().findAll(output) + val errorMessage = buildString { + appendln("Gradle build failed") + appendln() + if (errors.any()) { + appendln("Possible errors:") + errors.forEach { match -> appendln(match.groupValues[1]) } + } + } + fail(errorMessage) } fun CompiledProject.assertFailed(): CompiledProject {