diff --git a/compiler/tests-common/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt b/compiler/tests-common/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt index fc9c4f9accd..acd4932bb1b 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt +++ b/compiler/tests-common/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt @@ -72,7 +72,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava extends KtUsefulTestCase } @NotNull - protected KotlinCoreEnvironment createEnvironment() { + protected KotlinCoreEnvironment createEnvironment(@NotNull File file) { CompilerConfiguration configuration = KotlinTestUtils.newConfiguration( getConfigurationKind(), - getTestJdkKind(), + getTestJdkKind(file), CollectionsKt.plus(Collections.singletonList(KotlinTestUtils.getAnnotationsJar()), getExtraClasspath()), isJavaSourceRootNeeded() ? Collections.singletonList(javaFilesDir) : Collections.emptyList() ); @@ -108,8 +109,10 @@ public abstract class KotlinMultiFileTestWithJava extends KtUsefulTestCase } @NotNull - protected TestJdkKind getTestJdkKind() { - return TestJdkKind.MOCK_JDK; + protected TestJdkKind getTestJdkKind(@NotNull File file) { + return InTextDirectivesUtils.isDirectiveDefined(FilesKt.readText(file, Charsets.UTF_8), "FULL_JDK") + ? TestJdkKind.FULL_JDK + : TestJdkKind.MOCK_JDK; } @NotNull diff --git a/compiler/tests/org/jetbrains/kotlin/asJava/AbstractCompilerLightClassTest.java b/compiler/tests/org/jetbrains/kotlin/asJava/AbstractCompilerLightClassTest.java index a54a2662bbc..ca038a8fc68 100644 --- a/compiler/tests/org/jetbrains/kotlin/asJava/AbstractCompilerLightClassTest.java +++ b/compiler/tests/org/jetbrains/kotlin/asJava/AbstractCompilerLightClassTest.java @@ -52,7 +52,7 @@ public abstract class AbstractCompilerLightClassTest extends KotlinMultiFileTest @Override protected void doMultiFileTest(File file, Map modules, List files) throws IOException { - KotlinCoreEnvironment environment = createEnvironment(); + KotlinCoreEnvironment environment = createEnvironment(file); File expectedFile = KotlinTestUtils.replaceExtension(file, "java"); LightClassTestCommon.INSTANCE.testLightClass(expectedFile, file, s -> { try { diff --git a/compiler/tests/org/jetbrains/kotlin/cfg/AbstractDiagnosticsWithModifiedMockJdkTest.java b/compiler/tests/org/jetbrains/kotlin/cfg/AbstractDiagnosticsWithModifiedMockJdkTest.java index b4c2260b08d..2991d9da4ad 100644 --- a/compiler/tests/org/jetbrains/kotlin/cfg/AbstractDiagnosticsWithModifiedMockJdkTest.java +++ b/compiler/tests/org/jetbrains/kotlin/cfg/AbstractDiagnosticsWithModifiedMockJdkTest.java @@ -21,6 +21,8 @@ import org.jetbrains.kotlin.checkers.AbstractDiagnosticsTest; import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.TestJdkKind; +import java.io.File; + public abstract class AbstractDiagnosticsWithModifiedMockJdkTest extends AbstractDiagnosticsTest { @NotNull @Override @@ -30,7 +32,7 @@ public abstract class AbstractDiagnosticsWithModifiedMockJdkTest extends Abstrac @NotNull @Override - protected TestJdkKind getTestJdkKind() { + protected TestJdkKind getTestJdkKind(@NotNull File file) { return TestJdkKind.MODIFIED_MOCK_JDK; } } diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithFullJdkTest.java b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithFullJdkTest.java index 67b54168212..26f6a492846 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithFullJdkTest.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithFullJdkTest.java @@ -20,6 +20,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.test.ConfigurationKind; import org.jetbrains.kotlin.test.TestJdkKind; +import java.io.File; + public abstract class AbstractDiagnosticsWithFullJdkTest extends AbstractDiagnosticsTest { @NotNull @Override @@ -29,7 +31,7 @@ public abstract class AbstractDiagnosticsWithFullJdkTest extends AbstractDiagnos @NotNull @Override - protected TestJdkKind getTestJdkKind() { + protected TestJdkKind getTestJdkKind(@NotNull File file) { return TestJdkKind.FULL_JDK; } } diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithJdk9Test.java b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithJdk9Test.java index 2cd00e7c60e..41d2b94622c 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithJdk9Test.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsWithJdk9Test.java @@ -34,7 +34,7 @@ public abstract class AbstractDiagnosticsWithJdk9Test extends AbstractDiagnostic @NotNull @Override - protected TestJdkKind getTestJdkKind() { + protected TestJdkKind getTestJdkKind(@NotNull File file) { return TestJdkKind.FULL_JDK_9; } diff --git a/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptTest.kt b/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptTest.kt index 3e475d95fb3..3de9b664e37 100644 --- a/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptTest.kt +++ b/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverScriptTest.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.checkers.AbstractDiagnosticsTest import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate +import java.io.File import kotlin.script.extensions.SamWithReceiverAnnotations import kotlin.script.templates.ScriptTemplateDefinition @@ -28,7 +29,7 @@ abstract class AbstractSamWithReceiverScriptTest : AbstractDiagnosticsTest() { private val TEST_ANNOTATIONS = emptyList() } - override fun createEnvironment() = super.createEnvironment().apply { + override fun createEnvironment(file: File) = super.createEnvironment(file).apply { StorageComponentContainerContributor.registerExtension(project, CliSamWithReceiverComponentContributor(TEST_ANNOTATIONS)) val def = KotlinScriptDefinitionFromAnnotatedTemplate(ScriptForSamWithReceivers::class, null, null, emptyMap()) configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, def) diff --git a/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverTest.kt b/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverTest.kt index bb4f4f84fcd..fe62f92b893 100644 --- a/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverTest.kt +++ b/plugins/plugins-tests/tests/org/jetbrains/kotlin/samWithReceiver/AbstractSamWithReceiverTest.kt @@ -18,13 +18,14 @@ package org.jetbrains.kotlin.samWithReceiver import org.jetbrains.kotlin.checkers.AbstractDiagnosticsTest import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor +import java.io.File abstract class AbstractSamWithReceiverTest : AbstractDiagnosticsTest() { private companion object { private val TEST_ANNOTATIONS = listOf("SamWithReceiver") } - override fun createEnvironment() = super.createEnvironment().apply { + override fun createEnvironment(file: File) = super.createEnvironment(file).apply { StorageComponentContainerContributor.registerExtension(project, CliSamWithReceiverComponentContributor(TEST_ANNOTATIONS)) } -} \ No newline at end of file +}