From b5f71bacaf83e5c3aa69481ad3695e45374956c7 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 25 May 2021 15:37:03 +0300 Subject: [PATCH] Never spam to log during the normal test execution in Gradle tests --- .../kotlin/gradle/testbase/testDsl.kt | 50 +++++++++++-------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt index 4b411500baf..7f4c7763aa9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt @@ -8,18 +8,13 @@ package org.jetbrains.kotlin.gradle.testbase import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.GradleRunner import org.gradle.util.GradleVersion -import kotlin.test.assertTrue import java.io.File import java.nio.file.* import java.nio.file.Files.copy import java.nio.file.Files.createDirectories - import java.nio.file.attribute.BasicFileAttributes -import kotlin.io.path.ExperimentalPathApi -import kotlin.io.path.createFile -import kotlin.io.path.exists -import kotlin.io.path.readText -import kotlin.io.path.writeText +import kotlin.io.path.* +import kotlin.test.assertTrue /** * Create new test project. @@ -74,11 +69,14 @@ fun TestProject.build( vararg buildArguments: String, assertions: BuildResult.() -> Unit = {} ) { - val buildResult = gradleRunner - .withArguments(commonBuildSetup(buildArguments.toList())) - .build() + val allBuildArguments = commonBuildSetup(buildArguments.toList()) + withBuildSummary(allBuildArguments) { + val buildResult = gradleRunner + .withArguments(allBuildArguments) + .build() - assertions(buildResult) + assertions(buildResult) + } } /** @@ -88,11 +86,14 @@ fun TestProject.buildAndFail( vararg buildArguments: String, assertions: BuildResult.() -> Unit = {} ) { - val buildResult = gradleRunner - .withArguments(commonBuildSetup(buildArguments.toList())) - .buildAndFail() + val allBuildArguments = commonBuildSetup(buildArguments.toList()) + withBuildSummary(allBuildArguments) { + val buildResult = gradleRunner + .withArguments(allBuildArguments) + .buildAndFail() - assertions(buildResult) + assertions(buildResult) + } } fun TestProject.enableLocalBuildCache( @@ -132,14 +133,19 @@ private fun TestProject.commonBuildSetup( buildArguments: List ): List { val buildOptionsArguments = buildOptions.toArguments(gradleVersion) - val allBuildArguments = buildOptionsArguments + buildArguments + "--full-stacktrace" + return buildOptionsArguments + buildArguments + "--full-stacktrace" +} - println("<=== Test build: ${this.projectName} ===>") - println("<=== Using Gradle version: ${gradleVersion.version} ===>") - println("<=== Run arguments: ${allBuildArguments.joinToString()} ===>") - println("<=== Project path: ${projectPath.toAbsolutePath()} ===>") - - return allBuildArguments +private fun TestProject.withBuildSummary(buildArguments: List, run: () -> Unit) { + try { + run() + } catch (t: Throwable) { + println("<=== Test build: ${projectName} ===>") + println("<=== Using Gradle version: ${gradleVersion.version} ===>") + println("<=== Run arguments: ${buildArguments.joinToString()} ===>") + println("<=== Project path: ${projectPath.toAbsolutePath()} ===>") + throw t + } } /**