Only parsed stacktrace consider

- NodeJs and Karma testing logging, exception handling and source maps works consistently
This commit is contained in:
Ilya Goncharov
2019-09-27 01:38:09 +03:00
parent 2ac24efc8b
commit e911e0acbb
2 changed files with 7 additions and 5 deletions
@@ -154,12 +154,13 @@ internal open class TCServiceMessagesClient(
val parsedStackTrace = settings.stackTraceParser(stacktrace) val parsedStackTrace = settings.stackTraceParser(stacktrace)
val failMessage = parsedStackTrace?.message ?: message.failureMessage
results.failure( results.failure(
descriptor.id, descriptor.id,
KotlinTestFailure( KotlinTestFailure(
(parsedStackTrace?.message ?: message.failureMessage)?.let { extractExceptionClassName(it) } failMessage?.let { extractExceptionClassName(it) }
?: "Unknown", ?: "Unknown",
message.failureMessage, failMessage,
stacktrace, stacktrace,
patchStackTrace(this, parsedStackTrace?.stackTrace), patchStackTrace(this, parsedStackTrace?.stackTrace),
message.expected, message.expected,
@@ -19,7 +19,7 @@ import org.gradle.internal.serialize.PlaceholderException
class KotlinTestFailure( class KotlinTestFailure(
className: String, className: String,
message: String?, message: String?,
val stackTraceString: String?, private val stackTraceString: String?,
private val stackTrace: List<StackTraceElement>? = null, private val stackTrace: List<StackTraceElement>? = null,
val expected: String? = null, val expected: String? = null,
val actual: String? = null val actual: String? = null
@@ -38,9 +38,10 @@ class KotlinTestFailure(
return this return this
} }
override fun toString(): String = override fun toString(): String {
if (stackTraceString != null) { return if (stackTraceString != null) {
if (message != null && message!! !in stackTraceString) message + "\n" + stackTraceString if (message != null && message!! !in stackTraceString) message + "\n" + stackTraceString
else stackTraceString else stackTraceString
} else message ?: "Test failed" } else message ?: "Test failed"
}
} }