Remove usages of JVM target 1.6 from compiler tests

#KT-45165
This commit is contained in:
Alexander Udalov
2022-04-11 21:48:24 +02:00
parent f134575b86
commit ef6d30dd51
15 changed files with 12 additions and 131 deletions
@@ -198,12 +198,6 @@ public class SymbolLightClassesForLibraryTestGenerated extends AbstractSymbolLig
runTest("compiler/testData/asJava/lightClasses/SpecialAnnotationsOnAnnotationClass.kt");
}
@Test
@TestMetadata("SpecialAnnotationsOnAnnotationClass_1_6.kt")
public void testSpecialAnnotationsOnAnnotationClass_1_6() throws Exception {
runTest("compiler/testData/asJava/lightClasses/SpecialAnnotationsOnAnnotationClass_1_6.kt");
}
@Test
@TestMetadata("StubOrderForOverloads.kt")
public void testStubOrderForOverloads() throws Exception {
@@ -24,12 +24,6 @@ public class SymbolLightClassesLoadingForLibraryTestGenerated extends AbstractSy
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/asJava/ultraLightClasses"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
}
@Test
@TestMetadata("annotationTargets_1_6.kt")
public void testAnnotationTargets_1_6() throws Exception {
runTest("compiler/testData/asJava/ultraLightClasses/annotationTargets_1_6.kt");
}
@Test
@TestMetadata("annotationWithSetParamPropertyModifier.kt")
public void testAnnotationWithSetParamPropertyModifier() throws Exception {
@@ -198,12 +198,6 @@ public class SymbolLightClassesForSourceTestGenerated extends AbstractSymbolLigh
runTest("compiler/testData/asJava/lightClasses/SpecialAnnotationsOnAnnotationClass.kt");
}
@Test
@TestMetadata("SpecialAnnotationsOnAnnotationClass_1_6.kt")
public void testSpecialAnnotationsOnAnnotationClass_1_6() throws Exception {
runTest("compiler/testData/asJava/lightClasses/SpecialAnnotationsOnAnnotationClass_1_6.kt");
}
@Test
@TestMetadata("StubOrderForOverloads.kt")
public void testStubOrderForOverloads() throws Exception {
@@ -24,12 +24,6 @@ public class SymbolLightClassesLoadingForSourceTestGenerated extends AbstractSym
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/asJava/ultraLightClasses"), Pattern.compile("^(.+)\\.(kt)$"), null, true);
}
@Test
@TestMetadata("annotationTargets_1_6.kt")
public void testAnnotationTargets_1_6() throws Exception {
runTest("compiler/testData/asJava/ultraLightClasses/annotationTargets_1_6.kt");
}
@Test
@TestMetadata("annotationWithSetParamPropertyModifier.kt")
public void testAnnotationWithSetParamPropertyModifier() throws Exception {
@@ -1,8 +0,0 @@
@kotlin.annotation.MustBeDocumented()
@kotlin.annotation.Repeatable()
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
@kotlin.annotation.Target(allowedTargets = kotlin.annotation.AnnotationTarget.TYPE_PARAMETER)
public abstract @interface Anno /* Anno*/ {
public abstract int i();// i()
}
@@ -1,21 +0,0 @@
@java.lang.annotation.Documented()
@java.lang.annotation.Repeatable(value = Anno.Container.class)
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(value = {})
@kotlin.annotation.MustBeDocumented()
@kotlin.annotation.Repeatable()
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.TYPE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
public abstract @interface Anno /* Anno*/ {
public abstract int i();// i()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.SOURCE)
@java.lang.annotation.Target(value = {})
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.SOURCE)
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.TYPE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
@kotlin.jvm.internal.RepeatableContainer()
public static abstract @interface Container /* Anno.Container*/ {
public abstract Anno[] value();// value()
}}
@@ -1,11 +0,0 @@
// Anno
// JVM_TARGET: 1.6
// FULL_JDK
// SKIP_SANITY_TEST
// SKIP_IDE_TEST
@Retention(AnnotationRetention.SOURCE)
@Target(AnnotationTarget.TYPE_PARAMETER, AnnotationTarget.TYPE)
@MustBeDocumented
@Repeatable
annotation class Anno(val i: Int)
@@ -1,11 +0,0 @@
@kotlin.annotation.Target()
public abstract @interface A0 /* A0*/ {
}
@kotlin.annotation.Target(allowedTargets = kotlin.annotation.AnnotationTarget.VALUE_PARAMETER)
public abstract @interface A1 /* A1*/ {
}
@kotlin.annotation.Target(allowedTargets = kotlin.annotation.AnnotationTarget.VALUE_PARAMETER)
public abstract @interface A2 /* A2*/ {
}
@@ -1,16 +0,0 @@
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@kotlin.annotation.Target()
public abstract @interface A0 /* A0*/ {
}
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE})
public abstract @interface A1 /* A1*/ {
}
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE, kotlin.annotation.AnnotationTarget.TYPE_PARAMETER})
public abstract @interface A2 /* A2*/ {
}
@@ -1,9 +0,0 @@
// CHECK_BY_JAVA_FILE
// JVM_TARGET: 1.6
@Target()
annotation class A0
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE)
annotation class A1
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE, AnnotationTarget.TYPE_PARAMETER)
annotation class A2
@@ -1,5 +0,0 @@
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.PARAMETER})
@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.TYPE, kotlin.annotation.AnnotationTarget.TYPE_PARAMETER})
public abstract @interface A2 /* A2*/ {
}
@@ -174,11 +174,6 @@ public class CompilerLightClassTestGenerated extends AbstractCompilerLightClassT
runTest("compiler/testData/asJava/lightClasses/SpecialAnnotationsOnAnnotationClass.kt");
}
@TestMetadata("SpecialAnnotationsOnAnnotationClass_1_6.kt")
public void testSpecialAnnotationsOnAnnotationClass_1_6() throws Exception {
runTest("compiler/testData/asJava/lightClasses/SpecialAnnotationsOnAnnotationClass_1_6.kt");
}
@TestMetadata("StubOrderForOverloads.kt")
public void testStubOrderForOverloads() throws Exception {
runTest("compiler/testData/asJava/lightClasses/StubOrderForOverloads.kt");
@@ -412,9 +412,9 @@ class ScriptingHostTest : TestCase() {
@Test
fun testJvmTarget() {
jvmTargetTestImpl("1.6", 50)
jvmTargetTestImpl("1.8", 52)
jvmTargetTestImpl("9", 53)
jvmTargetTestImpl("17", 61)
}
@Test
@@ -148,14 +148,20 @@ class MainKtsTest {
@Test
fun testCompilerOptions() {
val out = captureOut {
val res = evalFile(File("$TEST_DATA_ROOT/compile-java6.main.kts"))
val res = evalFile(File("$TEST_DATA_ROOT/compiler-options.main.kts"))
assertSucceeded(res)
assertIsJava6Bytecode(res)
// `-Xabi-stability=unstable` unsets 5th bit in `Metadata.extraInt` (see kdoc). Let's check that it had effect.
val scriptClass = res.valueOrThrow().returnValue.scriptClass!!.java
val metadata = scriptClass.declaredAnnotations.single { it.annotationClass.java.name == "kotlin.Metadata" }
val extraInt = metadata.javaClass.getDeclaredMethod("xi").invoke(metadata) as Int
assertTrue(extraInt and (1 shl 5) == 0) {
"Incorrect value of Metadata.extraInt; probably the compiler flag -Xabi-stability=unstable wasn't recognized: $extraInt"
}
}.lines()
Assert.assertEquals(listOf("Hi from sub", "Hi from super", "Hi from random"), out)
assertEquals(listOf("Hi from sub", "Hi from super", "Hi from random"), out)
}
@Test
@@ -217,21 +223,6 @@ class MainKtsTest {
assertEquals("success", value)
}
private fun assertIsJava6Bytecode(res: ResultWithDiagnostics<EvaluationResult>) {
val scriptClassResource = res.valueOrThrow().returnValue.scriptClass!!.java.run {
getResource("$simpleName.class")
}
DataInputStream(ByteArrayInputStream(scriptClassResource.readBytes())).use { stream ->
val header = stream.readInt()
if (0xCAFEBABE.toInt() != header) throw IOException("Invalid header class header: $header")
@Suppress("UNUSED_VARIABLE")
val minor = stream.readUnsignedShort()
val major = stream.readUnsignedShort()
Assert.assertTrue(major == 50)
}
}
private fun assertSucceeded(res: ResultWithDiagnostics<EvaluationResult>) {
Assert.assertTrue(
"test failed:\n ${res.reports.joinToString("\n ") { it.message + if (it.exception == null) "" else ": ${it.exception}" }}",
@@ -1,4 +1,4 @@
@file:CompilerOptions("-jvm-target", "1.6")
@file:CompilerOptions("-jvm-target", "1.8", "-Xabi-stability=unstable")
interface Test {
fun print()