Never spam to log during the normal test execution in Gradle tests

This commit is contained in:
Nikolay Krasko
2021-05-25 15:37:03 +03:00
committed by teamcityserver
parent 9d1a6ebb18
commit b5f71bacaf
@@ -8,18 +8,13 @@ package org.jetbrains.kotlin.gradle.testbase
import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.BuildResult
import org.gradle.testkit.runner.GradleRunner import org.gradle.testkit.runner.GradleRunner
import org.gradle.util.GradleVersion import org.gradle.util.GradleVersion
import kotlin.test.assertTrue
import java.io.File import java.io.File
import java.nio.file.* import java.nio.file.*
import java.nio.file.Files.copy import java.nio.file.Files.copy
import java.nio.file.Files.createDirectories import java.nio.file.Files.createDirectories
import java.nio.file.attribute.BasicFileAttributes import java.nio.file.attribute.BasicFileAttributes
import kotlin.io.path.ExperimentalPathApi import kotlin.io.path.*
import kotlin.io.path.createFile import kotlin.test.assertTrue
import kotlin.io.path.exists
import kotlin.io.path.readText
import kotlin.io.path.writeText
/** /**
* Create new test project. * Create new test project.
@@ -74,11 +69,14 @@ fun TestProject.build(
vararg buildArguments: String, vararg buildArguments: String,
assertions: BuildResult.() -> Unit = {} assertions: BuildResult.() -> Unit = {}
) { ) {
val buildResult = gradleRunner val allBuildArguments = commonBuildSetup(buildArguments.toList())
.withArguments(commonBuildSetup(buildArguments.toList())) withBuildSummary(allBuildArguments) {
.build() val buildResult = gradleRunner
.withArguments(allBuildArguments)
.build()
assertions(buildResult) assertions(buildResult)
}
} }
/** /**
@@ -88,11 +86,14 @@ fun TestProject.buildAndFail(
vararg buildArguments: String, vararg buildArguments: String,
assertions: BuildResult.() -> Unit = {} assertions: BuildResult.() -> Unit = {}
) { ) {
val buildResult = gradleRunner val allBuildArguments = commonBuildSetup(buildArguments.toList())
.withArguments(commonBuildSetup(buildArguments.toList())) withBuildSummary(allBuildArguments) {
.buildAndFail() val buildResult = gradleRunner
.withArguments(allBuildArguments)
.buildAndFail()
assertions(buildResult) assertions(buildResult)
}
} }
fun TestProject.enableLocalBuildCache( fun TestProject.enableLocalBuildCache(
@@ -132,14 +133,19 @@ private fun TestProject.commonBuildSetup(
buildArguments: List<String> buildArguments: List<String>
): List<String> { ): List<String> {
val buildOptionsArguments = buildOptions.toArguments(gradleVersion) val buildOptionsArguments = buildOptions.toArguments(gradleVersion)
val allBuildArguments = buildOptionsArguments + buildArguments + "--full-stacktrace" return buildOptionsArguments + buildArguments + "--full-stacktrace"
}
println("<=== Test build: ${this.projectName} ===>") private fun TestProject.withBuildSummary(buildArguments: List<String>, run: () -> Unit) {
println("<=== Using Gradle version: ${gradleVersion.version} ===>") try {
println("<=== Run arguments: ${allBuildArguments.joinToString()} ===>") run()
println("<=== Project path: ${projectPath.toAbsolutePath()} ===>") } catch (t: Throwable) {
println("<=== Test build: ${projectName} ===>")
return allBuildArguments println("<=== Using Gradle version: ${gradleVersion.version} ===>")
println("<=== Run arguments: ${buildArguments.joinToString()} ===>")
println("<=== Project path: ${projectPath.toAbsolutePath()} ===>")
throw t
}
} }
/** /**