diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index eba342043d8..a90606730fd 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -73,7 +73,8 @@ abstract class BaseGradleIT { val daemonOptionSupported: Boolean = true, val incremental: Boolean? = null, val androidHome: File? = null, - val androidGradlePluginVersion: String? = null) + val androidGradlePluginVersion: String? = null, + val forceOutputToStdout: Boolean = false) open inner class Project( val projectName: String, @@ -141,12 +142,15 @@ abstract class BaseGradleIT { setupWorkingDir() } - val result = runProcess(cmd, projectDir, env) + val result = runProcess(cmd, projectDir, env, options) try { CompiledProject(this, result.output, result.exitCode).check() } catch (t: Throwable) { - System.out.println(result.output) + // to prevent duplication of output + if (!options.forceOutputToStdout) { + System.out.println(result.output) + } throw t } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/gradleRunningUtils.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/gradleRunningUtils.kt index 6af12503f27..6e276ef70a3 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/gradleRunningUtils.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/util/gradleRunningUtils.kt @@ -1,7 +1,7 @@ package org.jetbrains.kotlin.gradle.util +import org.jetbrains.kotlin.gradle.BaseGradleIT import java.io.File -import java.io.StringWriter class ProcessRunResult( private val cmd: List, @@ -20,7 +20,12 @@ Executing process was ${if (isSuccessful) "successful" else "unsuccessful"} """ } -fun runProcess(cmd: List, workingDir: File, environmentVariables: Map = mapOf()): ProcessRunResult { +fun runProcess( + cmd: List, + workingDir: File, + environmentVariables: Map = mapOf(), + options: BaseGradleIT.BuildOptions? = null +): ProcessRunResult { val builder = ProcessBuilder(cmd) builder.environment().putAll(environmentVariables) builder.directory(workingDir) @@ -29,11 +34,16 @@ fun runProcess(cmd: List, workingDir: File, environmentVariables: Map): List {