Add a separate test configurations for JDK 21 dependent test
After it's released, there would be no need in them, but right now they are unavailable through the toolchain, so we can't require it. See KT-58765 for tracking But there should be a dedicated Build configuration with JDK_21_0 env properly set. ^KT-58716 Fixed
This commit is contained in:
committed by
Space Team
parent
4705207263
commit
67d51eb7ee
@@ -59,14 +59,34 @@ if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
|
||||
}
|
||||
}
|
||||
|
||||
fun Test.configureTest(configureJUnit: JUnitPlatformOptions.() -> Unit = {}) {
|
||||
dependsOn(":dist")
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform {
|
||||
configureJUnit()
|
||||
}
|
||||
useJsIrBoxTests(version = version, buildDir = "$buildDir/")
|
||||
}
|
||||
|
||||
|
||||
projectTest(
|
||||
jUnitMode = JUnitMode.JUnit5,
|
||||
defineJDKEnvVariables = listOf(JdkMajorVersion.JDK_1_8, JdkMajorVersion.JDK_11_0, JdkMajorVersion.JDK_17_0)
|
||||
) {
|
||||
dependsOn(":dist")
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform()
|
||||
useJsIrBoxTests(version = version, buildDir = "$buildDir/")
|
||||
configureTest {
|
||||
excludeTags("Jdk21Test")
|
||||
}
|
||||
}
|
||||
|
||||
// Separate configuration is only necessary while JDK 21 is not released, so cannot be obtained via toolchain.
|
||||
// See KT-58765 for tracking
|
||||
projectTest(
|
||||
"jdk21Tests",
|
||||
jUnitMode = JUnitMode.JUnit5,
|
||||
) {
|
||||
configureTest {
|
||||
includeTags("Jdk21Test")
|
||||
}
|
||||
}
|
||||
|
||||
testsJar()
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.test.runners;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJdk21")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirLightTreeJdk21DiagnosticTestGenerated extends AbstractFirLightTreeJdk21DiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInTestsWithJdk21() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJdk21"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("newListMethods.kt")
|
||||
public void testNewListMethods() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/testsWithJdk21/newListMethods.kt");
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.test.runners;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJdk21")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirPsiJdk21DiagnosticTestGenerated extends AbstractFirPsiJdk21DiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInTestsWithJdk21() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJdk21"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("newListMethods.kt")
|
||||
public void testNewListMethods() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/testsWithJdk21/newListMethods.kt");
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,9 @@ enum class TestJdkKind(val requiresSeparateProcess: Boolean = false) {
|
||||
// JDK found at $JDK_17_0
|
||||
FULL_JDK_17(requiresSeparateProcess = true),
|
||||
|
||||
// JDK found at $JDK_21_0
|
||||
FULL_JDK_21(requiresSeparateProcess = true),
|
||||
|
||||
// JDK found at java.home
|
||||
FULL_JDK,
|
||||
ANDROID_API,
|
||||
|
||||
+4
@@ -159,6 +159,10 @@ public class KtTestUtil {
|
||||
return getJdkHome("JDK_17_0", "JDK_17");
|
||||
}
|
||||
|
||||
public static File getJdk21Home() {
|
||||
return getJdkHome("JDK_21_0", "JDK_21");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getTestDataPathBase() {
|
||||
return getHomeDirectory() + "/compiler/testData";
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
// ISSUE: KT-58371
|
||||
// WITH_STDLIB
|
||||
|
||||
class A<T> : ArrayList<T>() {
|
||||
override fun addFirst(t: T) {
|
||||
super.addFirst(t)
|
||||
}
|
||||
|
||||
override fun addLast(t: T) {
|
||||
super.addLast(t)
|
||||
}
|
||||
|
||||
override fun getFirst(): T = super.getFirst()
|
||||
override fun getLast(): T = super.getLast()
|
||||
|
||||
override fun removeFirst(): T = super.removeFirst()
|
||||
override fun removeLast(): T = super.removeLast()
|
||||
|
||||
<!NOTHING_TO_OVERRIDE!>override<!> fun reversed(): List<T> = super.<!UNRESOLVED_REFERENCE!>reversed<!>()
|
||||
}
|
||||
|
||||
fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
|
||||
x.<!UNRESOLVED_REFERENCE!>addFirst<!>("")
|
||||
x.<!UNRESOLVED_REFERENCE!>addLast<!>("")
|
||||
x.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeFirst; typeCall: extension function")!>removeFirst()<!>
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeLast; typeCall: extension function")!>removeLast()<!>
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
|
||||
|
||||
y.addFirst("")
|
||||
y.addLast("")
|
||||
y.getFirst()
|
||||
y.getLast()
|
||||
y.<!DEBUG_INFO_CALL("fqName: java.util.ArrayList.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
y.<!DEBUG_INFO_CALL("fqName: java.util.ArrayList.removeLast; typeCall: function")!>removeLast()<!>
|
||||
y.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
|
||||
|
||||
z.addFirst("")
|
||||
z.addLast("")
|
||||
z.getFirst()
|
||||
z.getLast()
|
||||
z.<!DEBUG_INFO_CALL("fqName: A.removeFirst; typeCall: function")!>removeFirst()<!>
|
||||
z.<!DEBUG_INFO_CALL("fqName: A.removeLast; typeCall: function")!>removeLast()<!>
|
||||
z.<!DEBUG_INFO_CALL("fqName: A.reversed; typeCall: function")!>reversed()<!>
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
// ISSUE: KT-58371
|
||||
// WITH_STDLIB
|
||||
|
||||
class A<T> : ArrayList<T>() {
|
||||
override fun addFirst(t: T) {
|
||||
super.addFirst(t)
|
||||
}
|
||||
|
||||
override fun addLast(t: T) {
|
||||
super.addLast(t)
|
||||
}
|
||||
|
||||
override fun getFirst(): T = super.getFirst()
|
||||
override fun getLast(): T = super.getLast()
|
||||
|
||||
override fun removeFirst(): T = super.removeFirst()
|
||||
override fun removeLast(): T = super.removeLast()
|
||||
|
||||
override fun reversed(): List<T> = super.reversed()
|
||||
}
|
||||
|
||||
fun foo(x: MutableList<String>, y: ArrayList<String>, z: A<String>) {
|
||||
x.<!UNRESOLVED_REFERENCE!>addFirst<!>("")
|
||||
x.<!UNRESOLVED_REFERENCE!>addLast<!>("")
|
||||
x.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
x.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeFirst; typeCall: extension function")!>removeFirst()<!>
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeLast; typeCall: extension function")!>removeLast()<!>
|
||||
x.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
|
||||
|
||||
y.<!UNRESOLVED_REFERENCE!>addFirst<!>("")
|
||||
y.<!UNRESOLVED_REFERENCE!>addLast<!>("")
|
||||
y.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
y.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
y.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeFirst; typeCall: extension function")!>removeFirst()<!>
|
||||
y.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeLast; typeCall: extension function")!>removeLast()<!>
|
||||
y.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
|
||||
|
||||
z.<!UNRESOLVED_REFERENCE!>addFirst<!>("")
|
||||
z.<!UNRESOLVED_REFERENCE!>addLast<!>("")
|
||||
z.<!UNRESOLVED_REFERENCE!>getFirst<!>()
|
||||
z.<!UNRESOLVED_REFERENCE!>getLast<!>()
|
||||
z.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeFirst; typeCall: extension function")!>removeFirst()<!>
|
||||
z.<!DEBUG_INFO_CALL("fqName: kotlin.collections.removeLast; typeCall: extension function")!>removeLast()<!>
|
||||
z.<!DEBUG_INFO_CALL("fqName: kotlin.collections.reversed; typeCall: extension function")!>reversed()<!>
|
||||
}
|
||||
@@ -1,5 +1,3 @@
|
||||
import org.jetbrains.kotlin.ideaExt.idea
|
||||
|
||||
plugins {
|
||||
kotlin("jvm")
|
||||
id("jps-compatible")
|
||||
@@ -50,15 +48,34 @@ sourceSets {
|
||||
}
|
||||
}
|
||||
|
||||
fun Test.configureTest(configureJUnit: JUnitPlatformOptions.() -> Unit = {}) {
|
||||
dependsOn(":dist")
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform {
|
||||
configureJUnit()
|
||||
}
|
||||
}
|
||||
|
||||
projectTest(
|
||||
jUnitMode = JUnitMode.JUnit5,
|
||||
defineJDKEnvVariables = listOf(
|
||||
JdkMajorVersion.JDK_11_0 // e.g. org.jetbrains.kotlin.test.runners.ForeignAnnotationsCompiledJavaTestGenerated.Java11Tests
|
||||
)
|
||||
) {
|
||||
dependsOn(":dist")
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform()
|
||||
configureTest {
|
||||
excludeTags("Jdk21Test")
|
||||
}
|
||||
}
|
||||
|
||||
// Separate configuration is only necessary while JDK 21 is not released, so cannot be obtained via toolchain.
|
||||
// See KT-58765 for tracking
|
||||
projectTest(
|
||||
"jdk21Tests",
|
||||
jUnitMode = JUnitMode.JUnit5,
|
||||
) {
|
||||
configureTest {
|
||||
includeTags("Jdk21Test")
|
||||
}
|
||||
}
|
||||
|
||||
testsJar()
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.test.runners;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJdk21")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Jdk21DiagnosticTestGenerated extends AbstractJdk21DiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInTestsWithJdk21() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJdk21"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(reversed|fir|ll)\\.kts?$"), true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("newListMethods.kt")
|
||||
public void testNewListMethods() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/testsWithJdk21/newListMethods.kt");
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -7,7 +7,10 @@ package org.jetbrains.kotlin.test.backend.handlers
|
||||
|
||||
import junit.framework.TestCase
|
||||
import org.jetbrains.kotlin.backend.common.CodegenUtil.getMemberDeclarationsToGenerate
|
||||
import org.jetbrains.kotlin.codegen.*
|
||||
import org.jetbrains.kotlin.codegen.ClassFileFactory
|
||||
import org.jetbrains.kotlin.codegen.CodegenTestUtil
|
||||
import org.jetbrains.kotlin.codegen.GeneratedClassLoader
|
||||
import org.jetbrains.kotlin.codegen.extractUrls
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassInfo
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil.getFileClassInfoNoResolve
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
@@ -181,6 +184,7 @@ open class JvmBoxRunner(testServices: TestServices) : JvmBinaryArtifactHandler(t
|
||||
TestJdkKind.FULL_JDK -> KtTestUtil.getJdk8Home()
|
||||
TestJdkKind.FULL_JDK_11 -> KtTestUtil.getJdk11Home()
|
||||
TestJdkKind.FULL_JDK_17 -> KtTestUtil.getJdk17Home()
|
||||
TestJdkKind.FULL_JDK_21 -> KtTestUtil.getJdk21Home()
|
||||
else -> error("Unsupported JDK kind: $jdkKind")
|
||||
}
|
||||
|
||||
|
||||
+24
-5
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.irHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.WITH_EXTENDED_CHECKERS
|
||||
@@ -31,17 +32,15 @@ import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||
import org.jetbrains.kotlin.test.model.DependencyKind
|
||||
import org.jetbrains.kotlin.test.model.FrontendFacade
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.services.JsLibraryProvider
|
||||
import org.jetbrains.kotlin.test.services.TestService
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
||||
import org.jetbrains.kotlin.test.services.service
|
||||
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
|
||||
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.services.JsLibraryProvider
|
||||
import org.jetbrains.kotlin.test.services.TestService
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
abstract class AbstractFirDiagnosticTestBase(val parser: FirParser) : AbstractKotlinCompilerTest() {
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
@@ -51,6 +50,26 @@ abstract class AbstractFirDiagnosticTestBase(val parser: FirParser) : AbstractKo
|
||||
}
|
||||
}
|
||||
|
||||
@Jdk21Test
|
||||
abstract class AbstractFirPsiJdk21DiagnosticTest : AbstractFirDiagnosticTestBase(FirParser.Psi) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.defaultDirectives {
|
||||
JDK_KIND with TestJdkKind.FULL_JDK_21
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Jdk21Test
|
||||
abstract class AbstractFirLightTreeJdk21DiagnosticTest : AbstractFirDiagnosticTestBase(FirParser.LightTree) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.defaultDirectives {
|
||||
JDK_KIND with TestJdkKind.FULL_JDK_21
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPsiDiagnosticTest : AbstractFirDiagnosticTestBase(FirParser.Psi)
|
||||
abstract class AbstractFirLightTreeDiagnosticsTest : AbstractFirDiagnosticTestBase(FirParser.LightTree) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import org.jetbrains.kotlin.test.TestJdkKind
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
|
||||
|
||||
@Jdk21Test
|
||||
abstract class AbstractJdk21DiagnosticTest : AbstractDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.defaultDirectives {
|
||||
JvmEnvironmentConfigurationDirectives.JDK_KIND with TestJdkKind.FULL_JDK_21
|
||||
+ConfigurationDirectives.WITH_STDLIB
|
||||
+JvmEnvironmentConfigurationDirectives.WITH_REFLECT
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import org.junit.jupiter.api.Tag
|
||||
|
||||
/**
|
||||
* This tag is only necessary while JDK 21 is not released, so cannot be obtained via toolchain.
|
||||
* See KT-58765 for tracking
|
||||
*/
|
||||
@Tag("Jdk21Test")
|
||||
annotation class Jdk21Test
|
||||
+3
@@ -135,6 +135,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
|
||||
TestJdkKind.FULL_JDK_6 -> File(System.getenv("JDK_16") ?: error("Environment variable JDK_16 is not set"))
|
||||
TestJdkKind.FULL_JDK_11 -> KtTestUtil.getJdk11Home()
|
||||
TestJdkKind.FULL_JDK_17 -> KtTestUtil.getJdk17Home()
|
||||
TestJdkKind.FULL_JDK_21 -> KtTestUtil.getJdk21Home()
|
||||
TestJdkKind.FULL_JDK -> if (JavaVersion.current() >= JavaVersion.compose(9)) File(System.getProperty("java.home")) else null
|
||||
TestJdkKind.ANDROID_API -> null
|
||||
}
|
||||
@@ -146,6 +147,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
|
||||
TestJdkKind.FULL_JDK_6 -> null
|
||||
TestJdkKind.FULL_JDK_11 -> null
|
||||
TestJdkKind.FULL_JDK_17 -> null
|
||||
TestJdkKind.FULL_JDK_21 -> null
|
||||
TestJdkKind.FULL_JDK -> null
|
||||
}
|
||||
}
|
||||
@@ -197,6 +199,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
|
||||
TestJdkKind.FULL_JDK_6 -> {}
|
||||
TestJdkKind.FULL_JDK_11 -> {}
|
||||
TestJdkKind.FULL_JDK_17 -> {}
|
||||
TestJdkKind.FULL_JDK_21 -> {}
|
||||
TestJdkKind.FULL_JDK -> {}
|
||||
}
|
||||
|
||||
|
||||
@@ -197,6 +197,9 @@ public class KotlinTestUtils {
|
||||
else if (jdkKind == TestJdkKind.FULL_JDK_17) {
|
||||
configuration.put(JVMConfigurationKeys.JDK_HOME, KtTestUtil.getJdk17Home());
|
||||
}
|
||||
else if (jdkKind == TestJdkKind.FULL_JDK_21) {
|
||||
configuration.put(JVMConfigurationKeys.JDK_HOME, KtTestUtil.getJdk21Home());
|
||||
}
|
||||
else if (JavaVersion.current().compareTo(JavaVersion.compose(9)) >= 0) {
|
||||
configuration.put(JVMConfigurationKeys.JDK_HOME, new File(System.getProperty("java.home")));
|
||||
}
|
||||
|
||||
+17
-2
@@ -10,8 +10,11 @@ import org.jetbrains.kotlin.generators.util.TestGeneratorUtil
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.runners.*
|
||||
import org.jetbrains.kotlin.test.runners.codegen.*
|
||||
import org.jetbrains.kotlin.test.runners.ir.*
|
||||
import org.jetbrains.kotlin.test.runners.ir.interpreter.*
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractClassicJvmIrTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractFirLightTreeJvmIrTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractFirPsiJvmIrTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.interpreter.AbstractJvmIrInterpreterAfterFirPsi2IrTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.interpreter.AbstractJvmIrInterpreterAfterPsi2IrTest
|
||||
import org.jetbrains.kotlin.test.utils.CUSTOM_TEST_DATA_EXTENSION_PATTERN
|
||||
import org.jetbrains.kotlin.visualizer.fir.AbstractFirVisualizerTest
|
||||
import org.jetbrains.kotlin.visualizer.psi.AbstractPsiVisualizerTest
|
||||
@@ -26,6 +29,10 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("diagnostics/testsWithStdLib", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractJdk21DiagnosticTest> {
|
||||
model("diagnostics/testsWithJdk21", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractDiagnosticUsingJavacTest> {
|
||||
model("diagnostics/tests/javac", pattern = "^(.*)\\.kts?$", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
@@ -209,6 +216,14 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("diagnostics/testsWithStdLib", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirPsiJdk21DiagnosticTest> {
|
||||
model("diagnostics/testsWithJdk21", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirLightTreeJdk21DiagnosticTest> {
|
||||
model("diagnostics/testsWithJdk21", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirPsiWithActualizerDiagnosticsTest>(suiteTestClassName = "FirOldFrontendMPPDiagnosticsWithPsiTestGenerated") {
|
||||
model("diagnostics/tests/multiplatform", pattern = "^(.*)\\.kts?$", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
+1
@@ -75,6 +75,7 @@ class AdditionalBuiltInsMembersSignatureListsTest : KotlinTestWithEnvironment()
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Get rid of it once JDK 21 is released (KT-58765 for tracking)
|
||||
private val LATE_JDK_SIGNATURES = mapOf(
|
||||
"java/util/List" to setOf(
|
||||
// From JDK 21
|
||||
|
||||
Reference in New Issue
Block a user