Skip to content

Commit 7566c8d

Browse files
hfhbdvlsi
authored andcommitted
Add test
Signed-off-by: hfhbd <[email protected]>
1 parent 5ba2d74 commit 7566c8d

File tree

6 files changed

+32
-6
lines changed

6 files changed

+32
-6
lines changed

sigstore-gradle/sigstore-gradle-sign-base-plugin/src/test/kotlin/dev/sigstore/gradle/OidcDslTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class OidcDslTest: BaseGradleTest() {
4646
""".trimIndent()
4747
)
4848
enableConfigurationCache(gradle)
49+
enableProjectIsolation(gradle)
4950
prepare(gradle.version, "printConfig", "-s")
5051
.build()
5152
}

sigstore-gradle/sigstore-gradle-sign-base-plugin/src/test/kotlin/dev/sigstore/gradle/SigstoreSignTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class SigstoreSignTest: BaseGradleTest() {
5555
""".trimIndent()
5656
)
5757
enableConfigurationCache(case.gradle)
58+
enableProjectIsolation(case.gradle)
5859
prepare(case.gradle.version, "signFile", "-s")
5960
.build()
6061
assertThat(projectDir.resolve("build/helloProps.txt.sigstore.json"))

sigstore-gradle/sigstore-gradle-sign-plugin/src/test/kotlin/dev/sigstore/gradle/RemoveSigstoreAscTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class RemoveSigstoreAscTest : BaseGradleTest() {
4141
// Gradle < 8.1 + configuration cache=on which is incompatible with signing plugin.
4242
listOf(
4343
TestedGradleAndSigstoreJava(
44-
TestedGradle(GradleVersion.version("8.1"), ConfigurationCache.OFF),
44+
TestedGradle(GradleVersion.version("8.1"), ConfigurationCache.OFF, ProjectIsolation.OFF),
4545
SIGSTORE_JAVA_CURRENT_VERSION
4646
)
4747
)
@@ -147,6 +147,7 @@ class RemoveSigstoreAscTest : BaseGradleTest() {
147147
""".trimIndent()
148148
)
149149
enableConfigurationCache(case.gradle)
150+
enableProjectIsolation(case.gradle)
150151
}
151152

152153
private fun SoftAssertions.assertSignatures(name: String, expectSigstoreAsc: Boolean = false) {

sigstore-gradle/sigstore-gradle-sign-plugin/src/test/kotlin/dev/sigstore/gradle/SigstorePublishSignTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ class SigstorePublishSignTest : BaseGradleTest() {
6565
""".trimIndent()
6666
)
6767
enableConfigurationCache(case.gradle)
68+
enableProjectIsolation(case.gradle)
6869
prepare(case.gradle.version, "publishAllPublicationsToTmpRepository", "-s")
6970
.build()
7071

sigstore-testkit/src/main/kotlin/dev/sigstore/testkit/BaseGradleTest.kt

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,15 @@ import org.junit.jupiter.params.provider.Arguments
2929
import org.junit.jupiter.params.provider.Arguments.arguments
3030
import java.io.File
3131
import java.nio.file.Path
32+
import kotlin.io.path.appendText
3233

3334
open class BaseGradleTest {
3435
enum class ConfigurationCache {
3536
ON, OFF
3637
}
38+
enum class ProjectIsolation {
39+
ON, OFF
40+
}
3741

3842
// to debug these tests, add .withDebug(true) before running a test in debug mode
3943
protected val gradleRunner = GradleRunner.create().withPluginClasspath()
@@ -63,16 +67,16 @@ open class BaseGradleTest {
6367
if (!isCI) {
6468
// Execute a single combination only when running locally
6569
return listOf(
66-
TestedGradle(gradleVersions().first(), ConfigurationCache.ON)
70+
TestedGradle(gradleVersions().first(), ConfigurationCache.ON, ProjectIsolation.ON)
6771
)
6872
}
6973
return buildList {
7074
addAll(
71-
gradleVersions().map { TestedGradle(it, ConfigurationCache.ON) }
75+
gradleVersions().map { TestedGradle(it, ConfigurationCache.ON, ProjectIsolation.ON) }
7276
)
7377
// Test the first and the last version without configuration cache
74-
add(TestedGradle(gradleVersions().first(), ConfigurationCache.OFF))
75-
add(TestedGradle(gradleVersions().last(), ConfigurationCache.OFF))
78+
add(TestedGradle(gradleVersions().first(), ConfigurationCache.OFF, ProjectIsolation.OFF))
79+
add(TestedGradle(gradleVersions().last(), ConfigurationCache.OFF, ProjectIsolation.OFF))
7680
}
7781
}
7882

@@ -202,6 +206,23 @@ open class BaseGradleTest {
202206
)
203207
}
204208

209+
protected fun enableProjectIsolation(
210+
gradle: TestedGradle,
211+
) {
212+
if (gradle.projectIsolation != ProjectIsolation.ON) {
213+
return
214+
}
215+
require(gradle.configurationCache == ConfigurationCache.ON) {
216+
"Project isolation requires Configuration Cache."
217+
}
218+
projectDir.resolve("gradle.properties").appendText(
219+
"""
220+
221+
org.gradle.unsafe.isolated-projects=true
222+
""".trimIndent()
223+
)
224+
}
225+
205226
protected fun assertSoftly(body: SoftAssertions.() -> Unit) =
206227
SoftAssertions.assertSoftly(body)
207228

sigstore-testkit/src/main/kotlin/dev/sigstore/testkit/TestedGradle.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@ import org.gradle.util.GradleVersion
2323
*/
2424
data class TestedGradle(
2525
val version: GradleVersion,
26-
val configurationCache: BaseGradleTest.ConfigurationCache
26+
val configurationCache: BaseGradleTest.ConfigurationCache,
27+
val projectIsolation: BaseGradleTest.ProjectIsolation,
2728
)

0 commit comments

Comments
 (0)