blob: 870b4e60f8b4cc2e1d656cd4e9b3a5d2f9393675 [file] [log] [blame]
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
class MapAnnotationArgumentsIT {
@Rule
@JvmField
val project: TemporaryTestProject = TemporaryTestProject("map-annotation-arguments", "test-processor")
val expectedErrors = listOf(
"e: [ksp] unboxedChar: Char != Character\n",
"e: [ksp] boxedChar: (Char..Char?) != Character\n",
"e: Error occurred in KSP, check log for detail\n",
)
@Test
fun testMapAnnotationArguments() {
val gradleRunner = GradleRunner.create().withProjectDir(project.root)
gradleRunner.withArguments("assemble", "-Pksp.map.annotation.arguments.in.java=true").build().let { result ->
Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:kspKotlin")?.outcome)
Assert.assertEquals(TaskOutcome.SUCCESS, result.task(":workload:assemble")?.outcome)
}
gradleRunner.withArguments("clean", "assemble", "--rerun-tasks").buildAndFail().let { result ->
Assert.assertEquals(TaskOutcome.FAILED, result.task(":workload:kspKotlin")?.outcome)
Assert.assertTrue(expectedErrors.all { it in result.output })
}
gradleRunner.withArguments("clean", "assemble", "-Pksp.map.annotation.arguments.in.java=false", "--rerun-tasks")
.buildAndFail().let { result ->
Assert.assertEquals(TaskOutcome.FAILED, result.task(":workload:kspKotlin")?.outcome)
Assert.assertTrue(expectedErrors.all { it in result.output })
}
}
}