diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index b0bc024b658..171c2ee6054 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -1298,6 +1298,17 @@ class Kotlin2JsIrGradlePluginIT : KGPBaseTest() { ) buildAndFail("nodeTest") { assertTasksFailed(":nodeTest") + assertOutputContains("Cannot find module 'foo'") + } + } + } + + @DisplayName("mocha has no output during dry run") + @GradleTest + fun testMochaHasNoDryRunOutput(gradleVersion: GradleVersion) { + project("kotlin-js-nodejs-project", gradleVersion) { + build("nodeTest") { + assertOutputDoesNotContain("0 passing") } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesTestExecutor.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesTestExecutor.kt index e4cc3cd90b0..a5880ce6197 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesTestExecutor.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/internal/testing/TCServiceMessagesTestExecutor.kt @@ -59,6 +59,12 @@ class TCServiceMessagesTestExecutor( if (spec.dryRunArgs != null) { val exec = execHandleFactory.newExec() spec.forkOptions.copyTo(exec) + // get rid of redundant output during dry-run + exec.standardOutput = object : OutputStream() { + override fun write(b: Int) { + // do nothing + } + } exec.args = spec.dryRunArgs execHandle = exec.build()