From 7680c21fb6a5b5a6a265b8b8428b62d903e5a930 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 27 Sep 2019 18:28:02 +0300 Subject: [PATCH] Print parsed stack trace --- .../kotlin/gradle/testing/KotlinTestFailure.kt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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 0faad3e8440..84443e4012c 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 @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.gradle.testing import org.gradle.internal.serialize.PlaceholderException +import java.io.PrintWriter /** * Class to be shown in default Gradle tests console reporter. @@ -31,14 +32,24 @@ class KotlinTestFailure( null, null ) { - override fun getStackTrace(): Array = - stackTrace?.toTypedArray() ?: arrayOf() + override fun getStackTrace(): Array { + return stackTrace?.toTypedArray() ?: arrayOf() + } + + override fun printStackTrace(s: PrintWriter?) { + setStackTrace(getStackTrace()) + super.printStackTrace(s) + } override fun fillInStackTrace(): Throwable { return this } override fun toString(): String { + if (getStackTrace().isNotEmpty()) { + return message ?: "Test failed" + } + return if (stackTraceString != null) { if (message != null && message!! !in stackTraceString) message + "\n" + stackTraceString else stackTraceString