From e911e0acbb3f9e30396584d9e11e7e660640d175 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 27 Sep 2019 01:38:09 +0300 Subject: [PATCH] Only parsed stacktrace consider - NodeJs and Karma testing logging, exception handling and source maps works consistently --- .../gradle/internal/testing/TCServiceMessagesClient.kt | 5 +++-- .../jetbrains/kotlin/gradle/testing/KotlinTestFailure.kt | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt index 75ee0005d5d..b3f565f8dbe 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesClient.kt @@ -154,12 +154,13 @@ internal open class TCServiceMessagesClient( val parsedStackTrace = settings.stackTraceParser(stacktrace) + val failMessage = parsedStackTrace?.message ?: message.failureMessage results.failure( descriptor.id, KotlinTestFailure( - (parsedStackTrace?.message ?: message.failureMessage)?.let { extractExceptionClassName(it) } + failMessage?.let { extractExceptionClassName(it) } ?: "Unknown", - message.failureMessage, + failMessage, stacktrace, patchStackTrace(this, parsedStackTrace?.stackTrace), message.expected, diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinTestFailure.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinTestFailure.kt index 1be7fca5366..0faad3e8440 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinTestFailure.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/testing/KotlinTestFailure.kt @@ -19,7 +19,7 @@ import org.gradle.internal.serialize.PlaceholderException class KotlinTestFailure( className: String, message: String?, - val stackTraceString: String?, + private val stackTraceString: String?, private val stackTrace: List? = null, val expected: String? = null, val actual: String? = null @@ -38,9 +38,10 @@ class KotlinTestFailure( return this } - override fun toString(): String = - if (stackTraceString != null) { + override fun toString(): String { + return if (stackTraceString != null) { if (message != null && message!! !in stackTraceString) message + "\n" + stackTraceString else stackTraceString } else message ?: "Test failed" + } } \ No newline at end of file