From 2cf79b75021141e4c26fa526fd8d1f44948a1edc Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 24 Sep 2019 12:19:00 +0300 Subject: [PATCH] Check Karma exit code with disabled failOnFailingTestSuite https://github.com/karma-runner/karma/pull/3116 --- .../targets/js/testing/karma/KarmaConfig.kt | 1 + .../targets/js/testing/karma/KotlinKarma.kt | 23 ++----------------- 2 files changed, 3 insertions(+), 21 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KarmaConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KarmaConfig.kt index ea7762658c1..919d31f0a7d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KarmaConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KarmaConfig.kt @@ -15,6 +15,7 @@ data class KarmaConfig( val client: KarmaClient = KarmaClient(), val browsers: MutableList = mutableListOf(), val customLaunchers: MutableMap = mutableMapOf(), + val failOnFailingTestSuite: Boolean = false, val reporters: MutableList = mutableListOf(), val preprocessors: MutableMap> = mutableMapOf(), var coverageReporter: CoverageReporter? = null diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt index 63a277b6015..980f94910aa 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/testing/karma/KotlinKarma.kt @@ -325,22 +325,15 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF return object : JSServiceMessagesTestExecutionSpec( forkOptions, args, - false, + true, clientSettings ) { lateinit var progressLogger: ProgressLogger - var isLaunchFailed: Boolean = false - override fun wrapExecute(body: () -> Unit) { project.operation("Running and building tests with karma and webpack") { progressLogger = this body() - - if (isLaunchFailed) { - showSuppressedOutput() - throw IllegalStateException("Launch of some browsers was failed") - } } } @@ -358,7 +351,7 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF val value = text.trimEnd() progressLogger.progress(value) - parseConsole(value) + super.printNonTestOutput(text) } override fun processStackTrace(stackTrace: String): String = @@ -389,16 +382,6 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF return rawSuiteNameOnly.replace(" ", ".") // sample.a.DeepPackageTest.Inner } - - private fun parseConsole(text: String) { - if (KARMA_PROBLEM.matches(text)) { - log.error(text) - isLaunchFailed = true - return - } - - super.printNonTestOutput(text) - } } } } @@ -418,7 +401,5 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF companion object { const val CHROME_BIN = "CHROME_BIN" const val CHROME_CANARY_BIN = "CHROME_CANARY_BIN" - - val KARMA_PROBLEM = "(?m)^.*\\d{2} \\d{2} \\d{4,} \\d{2}:\\d{2}:\\d{2}.\\d{3}:(ERROR|WARN) \\[.*]: (.*)\$".toRegex() } } \ No newline at end of file