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.internal.logging.progress.ProgressLogger
|
||||||
import org.gradle.process.ProcessForkOptions
|
import org.gradle.process.ProcessForkOptions
|
||||||
import org.jetbrains.kotlin.gradle.internal.operation
|
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.TCServiceMessagesClientSettings
|
||||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
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.internal.parseNodeJsStackTraceAsJvm
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
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.npm.npmProject
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
import org.jetbrains.kotlin.gradle.targets.js.testing.*
|
||||||
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.webpack.KotlinWebpackConfig
|
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
||||||
import org.jetbrains.kotlin.gradle.testing.internal.reportsDir
|
import org.jetbrains.kotlin.gradle.testing.internal.reportsDir
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
@@ -418,14 +415,13 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF
|
|||||||
nodeModules.map { npmProject.require(it) } +
|
nodeModules.map { npmProject.require(it) } +
|
||||||
listOf("start", karmaConfJs.absolutePath, "--debug")
|
listOf("start", karmaConfJs.absolutePath, "--debug")
|
||||||
|
|
||||||
return object : TCServiceMessagesTestExecutionSpec(
|
return object : JSServiceMessagesTestExecutionSpec(
|
||||||
forkOptions,
|
forkOptions,
|
||||||
args,
|
args,
|
||||||
false,
|
false,
|
||||||
clientSettings
|
clientSettings
|
||||||
) {
|
) {
|
||||||
lateinit var progressLogger: ProgressLogger
|
lateinit var progressLogger: ProgressLogger
|
||||||
val suppressedOutput = StringBuilder()
|
|
||||||
|
|
||||||
var isLaunchFailed: Boolean = false
|
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) =
|
override fun createClient(testResultProcessor: TestResultProcessor, log: Logger) =
|
||||||
object : TCServiceMessagesClient(testResultProcessor, clientSettings, log) {
|
object : JSServiceMessagesClient(
|
||||||
|
testResultProcessor,
|
||||||
|
clientSettings,
|
||||||
|
log,
|
||||||
|
suppressedOutput
|
||||||
|
) {
|
||||||
val baseTestNameSuffix get() = settings.testNameSuffix
|
val baseTestNameSuffix get() = settings.testNameSuffix
|
||||||
override var testNameSuffix: String? = baseTestNameSuffix
|
override var testNameSuffix: String? = baseTestNameSuffix
|
||||||
|
|
||||||
@@ -490,7 +487,7 @@ class KotlinKarma(override val compilation: KotlinJsCompilation) : KotlinJsTestF
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
suppressedOutput.appendln(text)
|
super.printNonTestOutput(text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-14
@@ -6,9 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.testing.nodejs
|
package org.jetbrains.kotlin.gradle.targets.js.testing.nodejs
|
||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.internal.tasks.testing.TestResultProcessor
|
|
||||||
import org.gradle.process.ProcessForkOptions
|
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.TCServiceMessagesClientSettings
|
||||||
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
import org.jetbrains.kotlin.gradle.internal.testing.TCServiceMessagesTestExecutionSpec
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
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.RequiredKotlinJsDependency
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.internal.parseNodeJsStackTraceAsJvm
|
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.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.KotlinJsTest
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTestFramework
|
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.KotlinTestRunnerCliArgs
|
||||||
import org.jetbrains.kotlin.gradle.testing.IgnoredTestSuites
|
import org.jetbrains.kotlin.gradle.testing.IgnoredTestSuites
|
||||||
import org.slf4j.Logger
|
|
||||||
|
|
||||||
class KotlinNodeJsTestRunner(override val compilation: KotlinJsCompilation) : KotlinJsTestFramework {
|
class KotlinNodeJsTestRunner(override val compilation: KotlinJsCompilation) : KotlinJsTestFramework {
|
||||||
val project: Project
|
val project: Project
|
||||||
@@ -67,19 +64,11 @@ class KotlinNodeJsTestRunner(override val compilation: KotlinJsCompilation) : Ko
|
|||||||
} +
|
} +
|
||||||
cliArgs.toList()
|
cliArgs.toList()
|
||||||
|
|
||||||
return object : TCServiceMessagesTestExecutionSpec(
|
return JSServiceMessagesTestExecutionSpec(
|
||||||
forkOptions,
|
forkOptions,
|
||||||
args,
|
args,
|
||||||
true,
|
true,
|
||||||
clientSettings
|
clientSettings
|
||||||
) {
|
)
|
||||||
override fun createClient(testResultProcessor: TestResultProcessor, log: Logger): TCServiceMessagesClient {
|
|
||||||
return JSServiceMessagesClient(
|
|
||||||
testResultProcessor,
|
|
||||||
clientSettings,
|
|
||||||
log
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user