[Gradle] Run Gradle integrations tests against Gradle 8.1.1

^KT-56178 In Progress
This commit is contained in:
Yahor Berdnikau
2023-07-19 23:33:51 +02:00
committed by Space Team
parent 0e2b3ce845
commit 2dacb6e816
14 changed files with 29 additions and 66 deletions
@@ -141,7 +141,7 @@ fun Test.includeTestsWithPattern(include: Boolean, patterns: (MutableSet<String>
}
fun Test.advanceGradleVersion() {
val gradleVersionForTests = "7.6"
val gradleVersionForTests = "8.1.1"
systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests)
}
@@ -31,9 +31,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Build report is created")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildReportSmokeTest(gradleVersion: GradleVersion) {
@@ -50,9 +48,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Build report output property accepts only certain values")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildReportOutputProperty(gradleVersion: GradleVersion) {
@@ -65,9 +61,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Build metrics produces valid report")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildMetricsSmokeTest(gradleVersion: GradleVersion) {
@@ -76,9 +70,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Build metrics produces valid report for mpp-jvm")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildMetricsForMppJvm(gradleVersion: GradleVersion) {
@@ -87,9 +79,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Build metrics produces valid report for mpp-js")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildMetricsForMppJs(gradleVersion: GradleVersion) {
@@ -98,9 +88,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Build metrics produces valid report for JS project")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildMetricsForJsProject(gradleVersion: GradleVersion) {
@@ -151,9 +139,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Compiler build metrics report is produced")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testCompilerBuildMetricsSmokeTest(gradleVersion: GradleVersion) {
@@ -172,9 +158,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("with no kotlin task executed")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testFileReportWithoutKotlinTask(gradleVersion: GradleVersion) {
@@ -191,9 +175,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("validation")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testSingleBuildMetricsFileValidation(gradleVersion: GradleVersion) {
@@ -208,9 +190,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("deprecated property")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testDeprecatedAndNewSingleBuildMetricsFile(gradleVersion: GradleVersion) {
@@ -228,9 +208,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("smoke")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testSingleBuildMetricsFileSmoke(gradleVersion: GradleVersion) {
@@ -252,9 +230,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("custom value limit")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testCustomValueLimitForBuildScan(gradleVersion: GradleVersion) {
@@ -272,9 +248,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("build scan listener lazy initialisation")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildScanListenerLazyInitialisation(gradleVersion: GradleVersion) {
@@ -293,9 +267,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Error file is created")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testErrorsFileSmokeTest(gradleVersion: GradleVersion) {
@@ -337,9 +309,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("Error file should not contain compilation exceptions")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testErrorsFileWithCompilationError(gradleVersion: GradleVersion) {
@@ -357,9 +327,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("build scan metrics validation")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildScanMetricsValidation(gradleVersion: GradleVersion) {
@@ -374,9 +342,7 @@ class BuildReportsIT : KGPBaseTest() {
@DisplayName("build reports work with init script")
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildReportsWithInitScript(gradleVersion: GradleVersion) {
@@ -66,7 +66,6 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() {
@GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_4,
additionalVersions = [TestVersions.Gradle.G_7_6],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testMppWithMavenPublish(gradleVersion: GradleVersion) {
@@ -85,7 +84,6 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() {
@GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_4,
additionalVersions = [TestVersions.Gradle.G_7_6],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testCommonizer(gradleVersion: GradleVersion, @TempDir konanHome: Path) {
@@ -185,7 +183,6 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() {
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildReportSmokeTestForConfigurationCache(gradleVersion: GradleVersion) {
@@ -209,7 +206,6 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() {
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6], //build scan reports doesn't work properly for Gradle 8.0
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testBuildScanReportSmokeTestForConfigurationCache(gradleVersion: GradleVersion) {
@@ -28,9 +28,7 @@ class FusStatisticsIT : KGPDaemonsBaseTest() {
@DisplayName("for dokka")
@GradleTest
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
fun testDokka(gradleVersion: GradleVersion) {
project(
@@ -64,9 +62,7 @@ class FusStatisticsIT : KGPDaemonsBaseTest() {
@DisplayName("general fields")
@GradleTest
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
fun testFusStatistics(gradleVersion: GradleVersion) {
project(
@@ -91,9 +87,7 @@ class FusStatisticsIT : KGPDaemonsBaseTest() {
@DisplayName("for project with buildSrc")
@GradleTest
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
fun testProjectWithBuildSrc(gradleVersion: GradleVersion) {
project(
@@ -143,9 +137,7 @@ class FusStatisticsIT : KGPDaemonsBaseTest() {
@DisplayName("for failed build")
@GradleTest
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
fun testFusStatisticsForFailedBuild(gradleVersion: GradleVersion) {
project(
@@ -173,10 +165,8 @@ class FusStatisticsIT : KGPDaemonsBaseTest() {
@DisplayName("general fields with configuration cache")
@GradleTest
@GradleTestVersions(
minVersion = TestVersions.Gradle.MIN_SUPPORTED,
additionalVersions = [TestVersions.Gradle.G_7_6, TestVersions.Gradle.G_8_0],
maxVersion = TestVersions.Gradle.G_8_1
)
)
fun testFusStatisticsWithConfigurationCache(gradleVersion: GradleVersion) {
project(
"simpleProject",
@@ -22,7 +22,6 @@ class MacosCapableConfigurationCacheIT : AbstractConfigurationCacheIT() {
@GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_4,
additionalVersions = [TestVersions.Gradle.G_7_6],
maxVersion = TestVersions.Gradle.G_8_1
)
@GradleTest
fun testNativeTasks(gradleVersion: GradleVersion) {
@@ -70,7 +69,6 @@ class MacosCapableConfigurationCacheIT : AbstractConfigurationCacheIT() {
@GradleTestVersions(
minVersion = TestVersions.Gradle.G_7_4,
additionalVersions = [TestVersions.Gradle.G_7_6],
maxVersion = TestVersions.Gradle.G_8_1,
)
@GradleTest
fun testAppleFrameworkTasks(gradleVersion: GradleVersion, @TempDir targetBuildDir: Path) {
@@ -364,7 +364,8 @@ class MultiplatformGradleIT : BaseGradleIT() {
fun testKtKt35942InternalsFromMainInTestViaTransitiveDepsAndroid() = with(
Project(
projectName = "kt-35942-android",
gradleVersionRequirement = GradleVersionRequired.AtLeast(TestVersions.Gradle.G_7_0)
// Should be checked with the latest AGP /Gradle once will be migrated to the new test DSL
gradleVersionRequirement = GradleVersionRequired.Until(TestVersions.Gradle.G_7_6)
)
) {
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
@@ -232,7 +232,7 @@ class SimpleKotlinGradleIT : KGPBaseTest() {
project("kotlinProject", gradleVersion) {
build("help") {
val expectedVariant = when (gradleVersion) {
GradleVersion.version(TestVersions.Gradle.G_8_1)..GradleVersion.version(TestVersions.Gradle.G_8_2) -> "gradle81"
in GradleVersion.version(TestVersions.Gradle.G_8_1)..GradleVersion.version(TestVersions.Gradle.G_8_2) -> "gradle81"
GradleVersion.version(TestVersions.Gradle.G_8_0) -> "gradle80"
GradleVersion.version(TestVersions.Gradle.G_7_6) -> "gradle76"
GradleVersion.version(TestVersions.Gradle.G_7_5) -> "gradle75"
@@ -29,7 +29,8 @@ import java.lang.Boolean as RefBoolean
// Tests are not working with AGP >= 7.1.0. See KT-57351 for details
class AndroidAndJavaConsumeMppLibBuiltByGradle7IT : AndroidAndJavaConsumeMppLibIT() {
override val producerAgpVersion: AGPVersion = AGPVersion.v7_0_0
override val producerGradleVersion: GradleVersionRequired = GradleVersionRequired.AtLeast(
override val producerGradleVersion: GradleVersionRequired = GradleVersionRequired.InRange(
TestVersions.Gradle.G_7_0,
TestVersions.Gradle.G_7_6
)
}
@@ -822,7 +822,7 @@ class CocoaPodsIT : KGPBaseTest() {
}
@DisplayName("Configuration cache works in a complex scenario")
@GradleTestVersions(minVersion = TestVersions.Gradle.G_7_6, maxVersion = TestVersions.Gradle.G_8_1)
@GradleTestVersions(minVersion = TestVersions.Gradle.G_7_6)
@GradleTest
fun testConfigurationCacheWorksInAComplexScenario(gradleVersion: GradleVersion) {
val buildOptions = defaultBuildOptions.copy(
@@ -227,7 +227,7 @@ class FatFrameworkIT : KGPBaseTest() {
}
@DisplayName("Test that the configurations exposing fat frameworks with the same baseName are resolved normally")
@GradleTestVersions(minVersion = TestVersions.Gradle.G_8_0, maxVersion = TestVersions.Gradle.G_8_1)
@GradleTestVersions(minVersion = TestVersions.Gradle.G_8_0)
@GradleTest
fun testExposingFrameworksWithSameBaseName(gradleVersion: GradleVersion) {
nativeProject("native-fat-framework/smoke", gradleVersion) {
@@ -670,8 +670,14 @@ class GeneralNativeIT : BaseGradleIT() {
assertTasksExecuted(*testsToExecute.toTypedArray())
assertTasksSkipped(*testsToSkip.toTypedArray())
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.fooTest\\s+PASSED".toRegex())
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.barTest\\s+PASSED".toRegex())
val currentGradleVersion = GradleVersion.version(chooseWrapperVersionOrFinishTest())
if (currentGradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_0)) {
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.fooTest\\s+PASSED".toRegex())
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.barTest\\s+PASSED".toRegex())
} else {
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.fooTest\\[host]\\s+PASSED".toRegex())
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.barTest\\[host]\\s+PASSED".toRegex())
}
assertFileExists(defaultOutputFile)
}
@@ -734,7 +740,12 @@ class GeneralNativeIT : BaseGradleIT() {
assertTasksExecuted(*testsToExecute.toTypedArray())
assertTasksSkipped(*testsToSkip.toTypedArray())
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.fail\\s+FAILED".toRegex())
val currentGradleVersion = GradleVersion.version(chooseWrapperVersionOrFinishTest())
if (currentGradleVersion < GradleVersion.version(TestVersions.Gradle.G_8_0)) {
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.fail\\s+FAILED".toRegex())
} else {
assertContainsRegex("org\\.foo\\.test\\.TestKt\\.fail\\[host]\\s+FAILED".toRegex())
}
}
// Check that individual test reports are created correctly.
@@ -28,7 +28,7 @@ interface TestVersions {
const val G_8_2 = "8.2"
const val MIN_SUPPORTED = minSupportedGradleVersion
const val MIN_SUPPORTED_KPM = G_7_0
const val MAX_SUPPORTED = G_8_0
const val MAX_SUPPORTED = G_8_1
}
object Kotlin {
@@ -51,7 +51,7 @@ interface TestVersions {
const val AGP_82 = "8.2.0-alpha09" // -alpha10 fails ExternalAndroidTargetIT test
const val MIN_SUPPORTED = AGP_42 // KotlinAndroidPlugin.minimalSupportedAgpVersion
const val MAX_SUPPORTED = AGP_80 // Update once Gradle MAX_SUPPORTED version will be bumped
const val MAX_SUPPORTED = AGP_81 // Update once Gradle MAX_SUPPORTED version will be bumped
}
enum class AgpCompatibilityMatrix(
@@ -5,12 +5,12 @@ apply plugin: 'kotlin-kapt'
android {
namespace "com.example.databinding"
compileSdkVersion 32
compileSdkVersion 33
defaultConfig {
applicationId "com.example.databinding"
minSdkVersion 21
targetSdkVersion 32
targetSdkVersion 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -4,11 +4,11 @@ apply plugin: 'kotlin-kapt'
android {
namespace "org.maw.library"
compileSdkVersion 32
compileSdkVersion 33
defaultConfig {
minSdkVersion 21
targetSdkVersion 32
targetSdkVersion 33
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"