[Test] Add Native backend tests to check conflicting signatures
^KT-64393
This commit is contained in:
committed by
Space Team
parent
b0dc5b8a93
commit
d8d8f24f62
+54
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 2010-2024 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.konan.test.diagnostics;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.junit.jupiter.api.Tag;
|
||||
import org.jetbrains.kotlin.konan.test.blackbox.support.group.FirPipeline;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/klibSerializationTests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@Tag("frontend-fir")
|
||||
@FirPipeline()
|
||||
@Tag("klib")
|
||||
public class FirPsiNativeKlibDiagnosticsTestGenerated extends AbstractFirPsiNativeDiagnosticsWithBackendTestBase {
|
||||
@Test
|
||||
public void testAllFilesPresentInKlibSerializationTests() {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/klibSerializationTests"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("signatureClashClasses.kt")
|
||||
public void testSignatureClashClasses() {
|
||||
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClashClasses.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("signatureClashFunctions.kt")
|
||||
public void testSignatureClashFunctions() {
|
||||
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClashFunctions.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("signatureClashVariables.kt")
|
||||
public void testSignatureClashVariables() {
|
||||
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClashVariables.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("signatureClash_MPP.kt")
|
||||
public void testSignatureClash_MPP() {
|
||||
runTest("compiler/testData/diagnostics/klibSerializationTests/signatureClash_MPP.kt");
|
||||
}
|
||||
}
|
||||
+9
-2
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.konan.test.blackbox.support.group.*
|
||||
import org.jetbrains.kotlin.konan.test.diagnostics.AbstractDiagnosticsNativeTest
|
||||
import org.jetbrains.kotlin.konan.test.diagnostics.AbstractFirLightTreeNativeDiagnosticsTest
|
||||
import org.jetbrains.kotlin.konan.test.diagnostics.AbstractFirPsiNativeDiagnosticsTest
|
||||
import org.jetbrains.kotlin.konan.test.diagnostics.AbstractFirPsiNativeDiagnosticsWithBackendTestBase
|
||||
import org.jetbrains.kotlin.konan.test.irtext.AbstractClassicNativeIrTextTest
|
||||
import org.jetbrains.kotlin.konan.test.irtext.AbstractFirLightTreeNativeIrTextTest
|
||||
import org.jetbrains.kotlin.konan.test.irtext.AbstractFirPsiNativeIrTextTest
|
||||
@@ -357,6 +358,13 @@ fun main() {
|
||||
) {
|
||||
model("diagnostics/nativeTests", excludedPattern = CUSTOM_TEST_DATA_EXTENSION_PATTERN)
|
||||
}
|
||||
|
||||
testClass<AbstractFirPsiNativeDiagnosticsWithBackendTestBase>(
|
||||
suiteTestClassName = "FirPsiNativeKlibDiagnosticsTestGenerated",
|
||||
annotations = listOf(*frontendFir(), klib())
|
||||
) {
|
||||
model("diagnostics/klibSerializationTests")
|
||||
}
|
||||
}
|
||||
|
||||
// Atomicfu compiler plugin native tests.
|
||||
@@ -555,10 +563,9 @@ private fun frontendFir() = arrayOf(
|
||||
annotation(FirPipeline::class.java)
|
||||
)
|
||||
|
||||
private fun klib() = annotation(Tag::class.java, "klib")
|
||||
private fun debugger() = annotation(Tag::class.java, "debugger")
|
||||
private fun infrastructure() = annotation(Tag::class.java, "infrastructure")
|
||||
private fun k1libContents() = annotation(Tag::class.java, "k1libContents")
|
||||
private fun k2libContents() = annotation(Tag::class.java, "k2libContents")
|
||||
private fun atomicfuNative() = arrayOf(
|
||||
annotation(Tag::class.java, "atomicfu-native"),
|
||||
annotation(EnforcedHostTarget::class.java), // TODO(KT-65977): Make atomicfu tests run on all targets.
|
||||
|
||||
Reference in New Issue
Block a user