From df6b61ac21b84b3c5cb7ef73a284ee2a1683bacc 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 | 2 ++ .../targets/js/testing/karma/KotlinKarma.kt | 23 ++----------------- 2 files changed, 4 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 ea7762658c15f3..46b4c4f15ef21c 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,8 @@ data class KarmaConfig( val client: KarmaClient = KarmaClient(), val browsers: MutableList = mutableListOf(), val customLaunchers: MutableMap = mutableMapOf(), + // https://github.com/karma-runner/karma/pull/3116 + 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 beb928576b3f26..3cf1a5fa24c509 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 @@ -421,22 +421,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") - } } } @@ -454,7 +447,7 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF val value = text.trimEnd() progressLogger.progress(value) - parseConsole(value) + super.printNonTestOutput(text) } override fun getSuiteName(message: BaseTestSuiteMessage): String { @@ -482,16 +475,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) - } } } } @@ -511,7 +494,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