Remove LocalClassProtoTestGenerated, replace with kotlinp tests
This test uses a hacky mode of the compiler which is not worth it to support further (especially in K2), `USE_SINGLE_MODULE`, where everything is compiled in one module. The purpose of the test is just to check that metadata for local/anonymous classes is written correctly. So we can replace it with the tests on kotlinp, which uses kotlinx-metadata-jvm and dumps all loaded metadata to text. This replacement is not perfect, in particular because it won't check that the reflection machinery is able to load this metadata, and because it won't check that annotations are loaded correctly from the bytecode. But IMHO it's good enough, there are box tests on reflection on local classes (e.g. `reflection/annotations/localClassLiteral.kt`), so this way is better than having to support the weird compiler mode for just one test.
This commit is contained in:
-66
@@ -1,66 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 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.serialization;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/serialization/local")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@RunWith(JUnit3RunnerWithInners.class)
|
||||
public class LocalClassProtoTestGenerated extends AbstractLocalClassProtoTest {
|
||||
private void runTest(String testDataFilePath) throws Exception {
|
||||
KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
|
||||
}
|
||||
|
||||
public void testAllFilesPresentInLocal() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/serialization/local"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@TestMetadata("annotationsInLocalClass.kt")
|
||||
public void testAnnotationsInLocalClass() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/annotationsInLocalClass.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("anonymousObject.kt")
|
||||
public void testAnonymousObject() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/anonymousObject.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("deepInnerChain.kt")
|
||||
public void testDeepInnerChain() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/deepInnerChain.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("innerOfLocal.kt")
|
||||
public void testInnerOfLocal() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/innerOfLocal.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("localClassInSignature.kt")
|
||||
public void testLocalClassInSignature() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/localClassInSignature.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("simpleInMemberFunction.kt")
|
||||
public void testSimpleInMemberFunction() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/simpleInMemberFunction.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("simpleInTopLevelFunction.kt")
|
||||
public void testSimpleInTopLevelFunction() throws Exception {
|
||||
runTest("compiler/testData/serialization/local/simpleInTopLevelFunction.kt");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user