KAPT: Run tests on JDK 21

Previously, some tests have also been disabled on JDK 11+, since
we did not filter out empty filesets, which led to failed assertion
inside JDK.
 #KT-57389
This commit is contained in:
Ilmir Usmanov
2023-10-26 04:26:27 +02:00
committed by Space Team
parent c82bc8f0ce
commit 87aed4bf47
8 changed files with 19 additions and 4 deletions
@@ -392,7 +392,7 @@ fun main(args: Array<String>) {
model("kotlinRunner")
}
testClass<AbstractIrKotlinKaptContextTest>(annotations = annotations) {
testClass<AbstractIrKotlinKaptContextTest> {
model("kotlinRunner")
}
@@ -304,7 +304,7 @@ fun KaptContext.parseJavaFiles(javaSourceFiles: List<File>): JavacList<JCTree.JC
}
private fun KaptContext.initModulesIfNeeded(files: JavacList<JCTree.JCCompilationUnit>): JavacList<JCTree.JCCompilationUnit> {
if (isJava9OrLater()) {
if (files.isNotEmpty() && isJava9OrLater()) {
val initModulesMethod = compiler.javaClass.getMethod("initModules", JavacList::class.java)
@Suppress("UNCHECKED_CAST")
@@ -64,6 +64,7 @@ testsJar {}
kaptTestTask("test", JavaLanguageVersion.of(8))
kaptTestTask("testJdk11", JavaLanguageVersion.of(11))
kaptTestTask("testJdk17", JavaLanguageVersion.of(17))
kaptTestTask("testJdk21", JavaLanguageVersion.of(21))
fun Project.kaptTestTask(name: String, javaLanguageVersion: JavaLanguageVersion) {
val service = extensions.getByType<JavaToolchainService>()
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.kapt3.test.runners
import org.jetbrains.kotlin.kapt3.base.util.doOpenInternalPackagesIfRequired
import org.jetbrains.kotlin.kapt3.test.JvmCompilerWithKaptFacade
import org.jetbrains.kotlin.kapt3.test.KaptContextBinaryArtifact
import org.jetbrains.kotlin.kapt3.test.KaptEnvironmentConfigurator
@@ -26,6 +27,10 @@ import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurat
abstract class AbstractClassFileToSourceStubConverterTestBase(
targetBackend: TargetBackend
) : AbstractKotlinCompilerWithTargetBackendTest(targetBackend) {
init {
doOpenInternalPackagesIfRequired()
}
override fun TestConfigurationBuilder.configuration() {
globalDefaults {
frontend = FrontendKinds.ClassicFrontend
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.kapt3.test.runners
import org.jetbrains.kotlin.kapt3.base.util.doOpenInternalPackagesIfRequired
import org.jetbrains.kotlin.kapt3.test.*
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.MAP_DIAGNOSTIC_LOCATIONS
import org.jetbrains.kotlin.kapt3.test.handlers.KaptContextHandler
@@ -20,6 +21,10 @@ import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurat
abstract class AbstractKotlinKaptContextTestBase(
targetBackend: TargetBackend
) : AbstractKotlinCompilerWithTargetBackendTest(targetBackend) {
init {
doOpenInternalPackagesIfRequired()
}
override fun TestConfigurationBuilder.configuration() {
globalDefaults {
frontend = FrontendKinds.ClassicFrontend
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.kapt3.test.runners;
import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.junit.jupiter.api.Tag;
import org.jetbrains.kotlin.test.TargetBackend;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Nested;
@@ -20,7 +19,6 @@ import java.util.regex.Pattern;
@SuppressWarnings("all")
@TestMetadata("plugins/kapt3/kapt3-compiler/testData/kotlinRunner")
@TestDataPath("$PROJECT_ROOT")
@Tag("IgnoreJDK11")
public class IrKotlinKaptContextTestGenerated extends AbstractIrKotlinKaptContextTest {
@Test
public void testAllFilesPresentInKotlinRunner() throws Exception {
+1
View File
@@ -56,6 +56,7 @@ testsJar {}
kaptTestTask("test", JavaLanguageVersion.of(8))
kaptTestTask("testJdk11", JavaLanguageVersion.of(11))
kaptTestTask("testJdk17", JavaLanguageVersion.of(17))
kaptTestTask("testJdk21", JavaLanguageVersion.of(21))
fun Project.kaptTestTask(name: String, javaLanguageVersion: JavaLanguageVersion) {
val service = extensions.getByType<JavaToolchainService>()
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.kapt4
import org.jetbrains.kotlin.kapt3.base.util.doOpenInternalPackagesIfRequired
import org.jetbrains.kotlin.kapt3.test.*
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.MAP_DIAGNOSTIC_LOCATIONS
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
@@ -22,6 +23,10 @@ open class AbstractKotlinKapt4ContextTest : AbstractKotlinKapt4ContextTestBase(T
abstract class AbstractKotlinKapt4ContextTestBase(
targetBackend: TargetBackend
) : AbstractKotlinCompilerWithTargetBackendTest(targetBackend) {
init {
doOpenInternalPackagesIfRequired()
}
override fun TestConfigurationBuilder.configuration() {
globalDefaults {
frontend = FrontendKinds.FIR