Skip to content

Commit 853a865

Browse files
committed
test: use a single method to generate Gradle versions for the tests
1 parent cd71c43 commit 853a865

File tree

8 files changed

+142
-167
lines changed

8 files changed

+142
-167
lines changed

plugins/gradle-extensions-plugin/src/test/kotlin/com/github/vlsi/gradle/ErrorReportingTest.kt

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,14 @@ package com.github.vlsi.gradle
1818

1919
import org.junit.jupiter.api.Assertions
2020
import org.junit.jupiter.params.ParameterizedTest
21-
import org.junit.jupiter.params.provider.Arguments
2221
import org.junit.jupiter.params.provider.MethodSource
2322

2423
class ErrorReportingTest : BaseGradleTest() {
25-
companion object {
26-
@JvmStatic
27-
private fun gradleVersionAndSettings(): Iterable<Arguments> {
28-
return mutableListOf<Arguments>().apply {
29-
add(Arguments.of("7.0"))
30-
add(Arguments.of("7.5"))
31-
add(Arguments.of("8.0"))
32-
add(Arguments.of("8.14.1"))
33-
}
34-
}
35-
}
36-
3724
// @ParameterizedTest
38-
// @MethodSource("gradleVersionAndSettings")
25+
// @MethodSource("defaultGradleVersionAndSettings")
3926
// @ValueSource(strings=["6.1.1"])
40-
fun `stacktrace is printed`(gradleVersion: String) {
41-
createSettings()
27+
fun `stacktrace is printed`(testCase: TestCase) {
28+
createSettings(testCase)
4229

4330
projectDir.resolve("build.gradle").write("""
4431
plugins { id('com.github.vlsi.gradle-extensions') }
@@ -52,7 +39,7 @@ class ErrorReportingTest : BaseGradleTest() {
5239
)
5340

5441
val result =
55-
prepare(gradleVersion, "hi", "-q")
42+
prepare(testCase, "hi", "-q")
5643
.buildAndFail()
5744

5845
val output = result.output
@@ -67,9 +54,9 @@ class ErrorReportingTest : BaseGradleTest() {
6754
}
6855

6956
@ParameterizedTest
70-
@MethodSource("gradleVersionAndSettings")
71-
fun `testng init failure test`(gradleVersion: String) {
72-
createSettings()
57+
@MethodSource("defaultGradleVersionAndSettings")
58+
fun `testng init failure test`(testCase: TestCase) {
59+
createSettings(testCase)
7360

7461
projectDir.resolve("build.gradle").write(
7562
/* language=groovy */
@@ -112,7 +99,7 @@ class ErrorReportingTest : BaseGradleTest() {
11299
)
113100

114101
val result =
115-
prepare(gradleVersion, "test", "-q")
102+
prepare(testCase, "test", "-q")
116103
.buildAndFail()
117104

118105
val output = result.output

plugins/jandex-plugin/src/test/kotlin/com/github/vlsi/jandex/JandexPluginTest.kt

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -28,29 +28,10 @@ import org.junit.jupiter.params.provider.MethodSource
2828

2929
@Execution(ExecutionMode.SAME_THREAD)
3030
class JandexPluginTest : BaseGradleTest() {
31-
32-
companion object {
33-
val isCI = System.getenv().containsKey("CI") || System.getProperties().containsKey("CI")
34-
35-
@JvmStatic
36-
private fun gradleVersionAndSettings(): Iterable<Arguments> {
37-
if (!isCI) {
38-
// Use only the minimum supported Gradle version to make the test faster
39-
return listOf(arguments("7.0", ConfigurationCache.ON))
40-
}
41-
return mutableListOf<Arguments>().apply {
42-
add(arguments("7.0", ConfigurationCache.ON))
43-
add(arguments("7.4.2", ConfigurationCache.ON))
44-
// Configuration cache supports custom caches since 7.5 only: https://github.com/gradle/gradle/issues/14874
45-
add(arguments("7.5.1", ConfigurationCache.ON))
46-
}
47-
}
48-
}
49-
5031
@ParameterizedTest
51-
@MethodSource("gradleVersionAndSettings")
52-
fun jandexBuildWorks(gradleVersion: String, configurationCache: ConfigurationCache) {
53-
enableConfigurationCache(gradleVersion, configurationCache)
32+
@MethodSource("defaultGradleVersionAndSettings")
33+
fun jandexBuildWorks(testCase: TestCase) {
34+
createSettings(testCase)
5435
projectDir.resolve("src/main/java/acme").toFile().mkdirs()
5536
projectDir.resolve("src/test/java/acme").toFile().mkdirs()
5637
projectDir.resolve("src/main/java/acme/Main.java").write(
@@ -83,7 +64,7 @@ class JandexPluginTest : BaseGradleTest() {
8364
}
8465
""".trimIndent()
8566
)
86-
val result = prepare(gradleVersion, "check", "jar", "-i").build()
67+
val result = prepare(testCase, "check", "jar", "-i").build()
8768
if (isCI) {
8869
println(result.output)
8970
}
@@ -94,9 +75,9 @@ class JandexPluginTest : BaseGradleTest() {
9475
"first execution => no cache available,"
9576
}
9677
// Once more, with configuration cache
97-
if (configurationCache == ConfigurationCache.ON) {
98-
prepare(gradleVersion, "clean").build()
99-
val result3 = prepare(gradleVersion, "check", "jar", "-i").build()
78+
if (testCase.configurationCache == ConfigurationCache.ON) {
79+
prepare(testCase, "clean").build()
80+
val result3 = prepare(testCase, "check", "jar", "-i").build()
10081
if (isCI) {
10182
println(result3.output)
10283
}

plugins/license-gather-plugin/build.gradle.kts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ tasks {
6464
}
6565
}
6666

67+
sourcesJar {
68+
// TODO: review if the dependency is required
69+
dependsOn(copyLicenses)
70+
}
71+
6772
processResources {
6873
dependsOn(copyLicenses)
6974
}
@@ -79,6 +84,11 @@ tasks {
7984
}
8085
}
8186

87+
sourcesJar {
88+
// TODO: review if the dependency is required
89+
dependsOn(saveLicenses)
90+
}
91+
8292
compileKotlin {
8393
require(this is Task)
8494
dependsOn(saveLicenses, copyLicenses)
@@ -110,6 +120,11 @@ tasks {
110120
}
111121
}
112122

123+
pluginUnderTestMetadata {
124+
// TODO: review if the dependency is required
125+
dependsOn(copyTfidf)
126+
}
127+
113128
jar {
114129
dependsOn(copyTfidf)
115130
}

plugins/license-gather-plugin/src/test/kotlin/com/github/vlsi/gradle/license/GatherLicenseTaskTest.kt

Lines changed: 10 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.github.vlsi.gradle.license
1919

20+
import com.github.vlsi.gradle.BaseGradleTest
2021
import org.gradle.api.JavaVersion
2122
import org.gradle.testkit.runner.BuildResult
2223
import org.gradle.testkit.runner.GradleRunner
@@ -27,37 +28,13 @@ import org.junit.jupiter.params.provider.Arguments
2728
import org.junit.jupiter.params.provider.MethodSource
2829
import java.nio.file.Path
2930

30-
class GatherLicenseTaskTest {
31-
companion object {
32-
@JvmStatic
33-
private fun gradleVersionAndSettings(): Iterable<Arguments> {
34-
return mutableListOf<Arguments>().apply {
35-
if (JavaVersion.current() <= JavaVersion.VERSION_14) {
36-
add(Arguments.of("6.0", "// no extra settings"))
37-
add(Arguments.of("6.1.1", "// no extra settings"))
38-
}
39-
add(Arguments.of("7.2", "// no extra settings"))
40-
}
41-
}
42-
}
43-
44-
private val gradleRunner = GradleRunner.create().withPluginClasspath()
45-
46-
@TempDir
47-
lateinit var projectDir: Path
48-
49-
fun Path.write(text: String) = this.toFile().writeText(text)
50-
31+
class GatherLicenseTaskTest: BaseGradleTest() {
5132
@ParameterizedTest
52-
@MethodSource("gradleVersionAndSettings")
53-
fun `licenseGathering works`(gradleVersion: String, extraSettings: String) {
54-
projectDir.resolve("settings.gradle").write(
55-
"""
56-
rootProject.name = 'sample'
57-
$extraSettings
58-
"""
59-
)
33+
@MethodSource("disabledConfigurationCacheGradleVersionAndSettings")
34+
fun `licenseGathering works`(testCase: TestCase) {
35+
createSettings(testCase)
6036
projectDir.resolve("build.gradle").write(
37+
/* language=gradle */
6138
"""
6239
import com.github.vlsi.gradle.license.GatherLicenseTask
6340
import com.github.vlsi.gradle.license.api.License
@@ -94,8 +71,11 @@ class GatherLicenseTaskTest {
9471
"""
9572
)
9673

97-
val result = runGradleBuild(gradleVersion, "generateLicense", "--quiet", "--stacktrace")
74+
val result =
75+
prepare(testCase, "generateLicense", "--quiet", "--stacktrace")
76+
.build()
9877
Assertions.assertEquals(
78+
/* language=xml */
9979
"""
10080
<license-list version='1'>
10181
<components>
@@ -369,15 +349,4 @@ class GatherLicenseTaskTest {
369349
result.output.normalizeEol()
370350
)
371351
}
372-
373-
private fun String.normalizeEol() = replace(Regex("[\r\n]+"), "\n")
374-
375-
private fun runGradleBuild(gradleVersion: String, vararg arguments: String): BuildResult {
376-
return gradleRunner
377-
.withGradleVersion(gradleVersion)
378-
.withProjectDir(projectDir.toFile())
379-
.withArguments(*arguments)
380-
.forwardOutput()
381-
.build()
382-
}
383352
}

plugins/license-gather-plugin/src/test/kotlin/com/github/vlsi/gradle/license/VerifyLicenseCompatibilityTaskTest.kt

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.github.vlsi.gradle.license
1919

20+
import com.github.vlsi.gradle.BaseGradleTest
2021
import org.gradle.api.JavaVersion
2122
import org.gradle.testkit.runner.BuildResult
2223
import org.gradle.testkit.runner.GradleRunner
@@ -27,36 +28,11 @@ import org.junit.jupiter.params.provider.Arguments
2728
import org.junit.jupiter.params.provider.MethodSource
2829
import java.nio.file.Path
2930

30-
class VerifyLicenseCompatibilityTaskTest {
31-
companion object {
32-
@JvmStatic
33-
private fun gradleVersionAndSettings(): Iterable<Arguments> {
34-
return mutableListOf<Arguments>().apply {
35-
if (JavaVersion.current() <= JavaVersion.VERSION_14) {
36-
add(Arguments.of("6.0", "// no extra settings"))
37-
add(Arguments.of("6.1.1", "// no extra settings"))
38-
}
39-
add(Arguments.of("7.3", "// no extra settings"))
40-
}
41-
}
42-
}
43-
44-
private val gradleRunner = GradleRunner.create().withPluginClasspath()
45-
46-
@TempDir
47-
lateinit var projectDir: Path
48-
49-
fun Path.write(text: String) = this.toFile().writeText(text)
50-
31+
class VerifyLicenseCompatibilityTaskTest: BaseGradleTest() {
5132
@ParameterizedTest
52-
@MethodSource("gradleVersionAndSettings")
53-
fun `licenseGathering works`(gradleVersion: String, extraSettings: String) {
54-
projectDir.resolve("settings.gradle").write(
55-
"""
56-
rootProject.name = 'sample'
57-
$extraSettings
58-
"""
59-
)
33+
@MethodSource("disabledConfigurationCacheGradleVersionAndSettings")
34+
fun `licenseGathering works`(testCase: TestCase) {
35+
createSettings(testCase)
6036
projectDir.resolve("build.gradle").write(
6137
/* language=groovy */ """
6238
import com.github.vlsi.gradle.license.GatherLicenseTask
@@ -112,7 +88,8 @@ class VerifyLicenseCompatibilityTaskTest {
11288
)
11389

11490
val result =
115-
runGradleBuild(gradleVersion, "verifyLicenses", "--print", "--quiet", "--stacktrace")
91+
prepare(testCase, "verifyLicenses", "--print", "--quiet", "--stacktrace")
92+
.build()
11693
Assertions.assertEquals(
11794
"""
11895
ALLOW
@@ -203,15 +180,4 @@ class VerifyLicenseCompatibilityTaskTest {
203180
result.output.normalizeEol().replace("texts\\", "texts/")
204181
)
205182
}
206-
207-
private fun String.normalizeEol() = replace(Regex("\r\n?"), "\n")
208-
209-
private fun runGradleBuild(gradleVersion: String, vararg arguments: String): BuildResult {
210-
return gradleRunner
211-
.withGradleVersion(gradleVersion)
212-
.withProjectDir(projectDir.toFile())
213-
.withArguments(*arguments)
214-
.forwardOutput()
215-
.build()
216-
}
217183
}

plugins/stage-vote-release-plugin/src/main/kotlin/com/github/vlsi/gradle/release/SvnmuccTask.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import javax.inject.Inject
2626
import org.gradle.api.DefaultTask
2727
import org.gradle.api.file.RegularFileProperty
2828
import org.gradle.api.tasks.Input
29+
import org.gradle.api.tasks.Internal
2930
import org.gradle.api.tasks.TaskAction
3031
import org.gradle.kotlin.dsl.property
3132
import org.gradle.kotlin.dsl.the
@@ -81,6 +82,7 @@ abstract class SvnmuccTask @Inject constructor() : DefaultTask() {
8182
return false
8283
}
8384

85+
@Internal
8486
protected val commandsFile = project.layout.buildDirectory.file("svnmucc/$name.txt")
8587

8688
@TaskAction

plugins/stage-vote-release-plugin/src/test/kotlin/release/ChecksumFileTest.kt

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,28 +28,10 @@ import org.junit.jupiter.params.provider.Arguments
2828
import org.junit.jupiter.params.provider.MethodSource
2929

3030
class ChecksumFileTest : BaseGradleTest() {
31-
companion object {
32-
val isCI = System.getenv().containsKey("CI") || System.getProperties().containsKey("CI")
33-
34-
@JvmStatic
35-
private fun gradleVersionAndSettings(): Iterable<Arguments> {
36-
if (!isCI) {
37-
// Use only the minimum supported Gradle version to make the test faster
38-
return listOf(Arguments.arguments("8.1.1", ConfigurationCache.OFF))
39-
}
40-
return mutableListOf<Arguments>().apply {
41-
add(Arguments.arguments("7.0", ConfigurationCache.OFF))
42-
add(Arguments.arguments("7.5", ConfigurationCache.OFF))
43-
add(Arguments.arguments("8.1.1", ConfigurationCache.OFF))
44-
add(Arguments.arguments("8.14.1", ConfigurationCache.OFF))
45-
}
46-
}
47-
}
48-
4931
@ParameterizedTest
50-
@MethodSource("gradleVersionAndSettings")
51-
fun previewSvnDist(gradleVersion: String, configurationCache: ConfigurationCache) {
52-
enableConfigurationCache(gradleVersion, configurationCache)
32+
@MethodSource("disabledConfigurationCacheGradleVersionAndSettings")
33+
fun previewSvnDist(testCase: TestCase) {
34+
createSettings(testCase)
5335
projectDir.resolve("src/main/java/acme").toFile().mkdirs()
5436
projectDir.resolve("src/main/java/acme/Main.java").write(
5537
/* language=Java */
@@ -99,15 +81,15 @@ class ChecksumFileTest : BaseGradleTest() {
9981
}
10082
""".trimIndent()
10183
)
102-
prepare(gradleVersion, "previewSvnDist", "-i", "-Prc=1").build().let { result ->
84+
prepare(testCase, "previewSvnDist", "-i", "-Prc=1").build().let { result ->
10385
if (isCI) {
10486
println(result.output)
10587
}
10688

10789
assertChecksumFilePresent("First execution")
10890
}
10991

110-
prepare(gradleVersion, "previewSvnDist", "-i", "-Prc=1").build().let { result ->
92+
prepare(testCase, "previewSvnDist", "-i", "-Prc=1").build().let { result ->
11193
if (isCI) {
11294
println(result.output)
11395
}
@@ -119,7 +101,7 @@ class ChecksumFileTest : BaseGradleTest() {
119101
}
120102

121103
prepare(
122-
gradleVersion,
104+
testCase,
123105
"cleanJarSha512",
124106
"previewSvnDist",
125107
"-x",

0 commit comments

Comments
 (0)