aboutsummaryrefslogtreecommitdiff
path: root/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt
diff options
context:
space:
mode:
Diffstat (limited to 'integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt')
-rw-r--r--integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt41
1 files changed, 41 insertions, 0 deletions
diff --git a/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt
new file mode 100644
index 00000000..c1c0c498
--- /dev/null
+++ b/integration-tests/src/test/kotlin/com/google/devtools/ksp/test/BuildCacheIT.kt
@@ -0,0 +1,41 @@
+package com.google.devtools.ksp.test
+
+import org.gradle.testkit.runner.GradleRunner
+import org.gradle.testkit.runner.TaskOutcome
+import org.junit.Assert
+import org.junit.Rule
+import org.junit.Test
+import java.io.File
+
+class BuildCacheIT {
+ @Rule
+ @JvmField
+ val project1: TemporaryTestProject = TemporaryTestProject("buildcache", "playground")
+
+ @Rule
+ @JvmField
+ val project2: TemporaryTestProject = TemporaryTestProject("buildcache", "playground")
+
+ @Test
+ fun testBuildCache() {
+ val buildCacheDir = File(project1.root, "build-cache").absolutePath.replace(File.separatorChar, '/')
+ File(project1.root, "gradle.properties").appendText("\nbuildCacheDir=$buildCacheDir")
+ File(project2.root, "gradle.properties").appendText("\nbuildCacheDir=$buildCacheDir")
+
+ GradleRunner.create().withProjectDir(project1.root).withArguments(
+ "--build-cache",
+ ":workload:clean",
+ "build"
+ ).build().let {
+ Assert.assertEquals(TaskOutcome.SUCCESS, it.task(":workload:kspKotlin")?.outcome)
+ }
+
+ GradleRunner.create().withProjectDir(project2.root).withArguments(
+ "--build-cache",
+ ":workload:clean",
+ "build"
+ ).build().let {
+ Assert.assertEquals(TaskOutcome.FROM_CACHE, it.task(":workload:kspKotlin")?.outcome)
+ }
+ }
+}