Both js targets use one TC service message classes
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.js.testing
|
||||
|
||||
import org.gradle.api.internal.tasks.testing.TestResultProcessor
|
||||
import org.gradle.process.ProcessForkOptions
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClient
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
||||
import org.slf4j.Logger
|
||||
|
||||
internal open class JSServiceMessagesTestExecutionSpec(
|
||||
forkOptions: ProcessForkOptions,
|
||||
args: List<String>,
|
||||
checkExitCode: Boolean,
|
||||
clientSettings: TCServiceMessagesClientSettings
|
||||
) : TCServiceMessagesTestExecutionSpec(
|
||||
forkOptions,
|
||||
args,
|
||||
checkExitCode,
|
||||
clientSettings
|
||||
) {
|
||||
protected val suppressedOutput = StringBuilder()
|
||||
|
||||
override fun showSuppressedOutput() {
|
||||
println(suppressedOutput)
|
||||
}
|
||||
|
||||
override fun createClient(testResultProcessor: TestResultProcessor, log: Logger): TCServiceMessagesClient {
|
||||
return JSServiceMessagesClient(
|
||||
results = testResultProcessor,
|
||||
settings = clientSettings,
|
||||
log = log,
|
||||
suppressedOutput = suppressedOutput
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
internal open class JSServiceMessagesClient(
|
||||
results: TestResultProcessor,
|
||||
settings: TCServiceMessagesClientSettings,
|
||||
log: Logger,
|
||||
private val suppressedOutput: StringBuilder
|
||||
) : TCServiceMessagesClient(results, settings, log) {
|
||||
override fun printNonTestOutput(text: String) {
|
||||
suppressedOutput.appendln(text)
|
||||
}
|
||||
}
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.js.testing
|
||||
|
||||
import org.gradle.api.internal.tasks.testing.TestResultProcessor
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClient
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings
|
||||
import org.slf4j.Logger
|
||||
|
||||
internal class JSServiceMessagesClient(
|
||||
results: TestResultProcessor,
|
||||
settings: TCServiceMessagesClientSettings,
|
||||
log: Logger
|
||||
) : TCServiceMessagesClient(results, settings, log) {
|
||||
override fun printNonTestOutput(text: String) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
+9
-12
@@ -12,7 +12,6 @@ import org.gradle.api.internal.tasks.testing.TestResultProcessor
|
||||
import org.gradle.internal.logging.progress.ProgressLogger
|
||||
import org.gradle.process.ProcessForkOptions
|
||||
import org.jetbrains.kotlin.gradle.internal.operation
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClient
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
@@ -22,9 +21,7 @@ import org.jetbrains.kotlin.gradle.targets.js.appendConfigsFromDir
|
||||
import org.jetbrains.kotlin.gradle.targets.js.internal.parseNodeJsStackTraceAsJvm
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinTestRunnerCliArgs
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
||||
import org.jetbrains.kotlin.gradle.testing.internal.reportsDir
|
||||
import org.slf4j.Logger
|
||||
@@ -418,14 +415,13 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF
|
||||
nodeModules.map { npmProject.require(it) } +
|
||||
listOf("start", karmaConfJs.absolutePath, "--debug")
|
||||
|
||||
return object : TCServiceMessagesTestExecutionSpec(
|
||||
return object : JSServiceMessagesTestExecutionSpec(
|
||||
forkOptions,
|
||||
args,
|
||||
false,
|
||||
clientSettings
|
||||
) {
|
||||
lateinit var progressLogger: ProgressLogger
|
||||
val suppressedOutput = StringBuilder()
|
||||
|
||||
var isLaunchFailed: Boolean = false
|
||||
|
||||
@@ -441,12 +437,13 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF
|
||||
}
|
||||
}
|
||||
|
||||
override fun showSuppressedOutput() {
|
||||
println(suppressedOutput)
|
||||
}
|
||||
|
||||
override fun createClient(testResultProcessor: TestResultProcessor, log: Logger) =
|
||||
object : TCServiceMessagesClient(testResultProcessor, clientSettings, log) {
|
||||
object : JSServiceMessagesClient(
|
||||
testResultProcessor,
|
||||
clientSettings,
|
||||
log,
|
||||
suppressedOutput
|
||||
) {
|
||||
val baseTestNameSuffix get() = settings.testNameSuffix
|
||||
override var testNameSuffix: String? = baseTestNameSuffix
|
||||
|
||||
@@ -490,7 +487,7 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF
|
||||
return
|
||||
}
|
||||
|
||||
suppressedOutput.appendln(text)
|
||||
super.printNonTestOutput(text)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-14
@@ -6,9 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.testing.nodejs
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.internal.tasks.testing.TestResultProcessor
|
||||
import org.gradle.process.ProcessForkOptions
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClient
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesClientSettings
|
||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
@@ -16,12 +14,11 @@ import org.jetbrains.kotlin.gradle.targets.js.KotlinGradleNpmPackage
|
||||
import org.jetbrains.kotlin.gradle.targets.js.RequiredKotlinJsDependency
|
||||
import org.jetbrains.kotlin.gradle.targets.js.internal.parseNodeJsStackTraceAsJvm
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.JSServiceMessagesClient
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.JSServiceMessagesTestExecutionSpec
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinTestRunnerCliArgs
|
||||
import org.jetbrains.kotlin.gradle.testing.IgnoredTestSuites
|
||||
import org.slf4j.Logger
|
||||
|
||||
class KotlinNodeJsTestRunner(override val compilation: KotlinJsCompilation) : KotlinJsTestFramework {
|
||||
val project: Project
|
||||
@@ -67,19 +64,11 @@ class KotlinNodeJsTestRunner(override val compilation: KotlinJsCompilation) : Ko
|
||||
} +
|
||||
cliArgs.toList()
|
||||
|
||||
return object : TCServiceMessagesTestExecutionSpec(
|
||||
return JSServiceMessagesTestExecutionSpec(
|
||||
forkOptions,
|
||||
args,
|
||||
true,
|
||||
clientSettings
|
||||
) {
|
||||
override fun createClient(testResultProcessor: TestResultProcessor, log: Logger): TCServiceMessagesClient {
|
||||
return JSServiceMessagesClient(
|
||||
testResultProcessor,
|
||||
clientSettings,
|
||||
log
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user