Provide logging through kotlin-test=js-runner

This commit is contained in:
Ilya Goncharov
2019-09-20 16:42:55 +03:00
parent f0e72c4d71
commit 46e82468e4
4 changed files with 65 additions and 4 deletions
@@ -0,0 +1,21 @@
/*
* 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
}
}
@@ -6,7 +6,9 @@
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
@@ -14,10 +16,12 @@ 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.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
@@ -63,11 +67,19 @@ class KotlinNodeJsTestRunner(override val compilation: KotlinJsCompilation) : Ko
} +
cliArgs.toList()
return TCServiceMessagesTestExecutionSpec(
return object : TCServiceMessagesTestExecutionSpec(
forkOptions,
args,
true,
clientSettings
)
) {
override fun createClient(testResultProcessor: TestResultProcessor, log: Logger): TCServiceMessagesClient {
return JSServiceMessagesClient(
testResultProcessor,
clientSettings,
log
)
}
}
}
}