1
package com.avito.instrumentation
3
import com.avito.test.gradle.TestProjectGenerator
4
import com.avito.test.gradle.TestResult
5
import com.avito.test.gradle.gradlew
6
import com.avito.test.gradle.module.AndroidAppModule
7
import com.avito.test.gradle.plugin.plugins
8
import org.junit.jupiter.api.Test
9
import org.junit.jupiter.api.io.TempDir
12
internal class ConfigurationCacheCompatibilityTest {
15
fun `configuration with applied plugin - reuses configuration cache`(@TempDir projectDir: File) {
18
id("com.avito.android.gradle-logger")
24
id(instrumentationPluginId)
26
buildGradleExtra = instrumentationConfiguration(),
30
).generateIn(projectDir)
32
runHelp(projectDir).assertThat().buildSuccessful()
34
runHelp(projectDir).assertThat().buildSuccessful().configurationCachedReused()
38
fun `instrumentationTask run - reuses configuration cache`(@TempDir projectDir: File) {
41
id("com.avito.android.gradle-logger")
47
id(instrumentationPluginId)
49
buildGradleExtra = instrumentationConfiguration(),
53
).generateIn(projectDir)
55
runTask(projectDir).assertThat().buildSuccessful()
57
runTask(projectDir).assertThat().buildSuccessful().configurationCachedReused()
60
private fun runHelp(projectDir: File): TestResult {
64
"-PteamcityBuildId=0",
68
"-PteamcityBuildType=BT",
70
configurationCache = true
74
private fun runTask(projectDir: File): TestResult {
77
":app:instrumentationFunctionalLocal",
78
"-PteamcityBuildId=0",
82
"-PteamcityBuildType=BT",
83
"-PisGradleTestKitRun=true",
85
configurationCache = true