[Tests] Run NativeInliningFacade in FirKlibCrossCompilationIdentityTest NativeInliningFacade cannot be used from native/native.tests/tests, so FirKlibCrossCompilationIdentityTest is moved to klib-ir-inliner tests module, since NativeInliningFacade depends on NativePreSerializationLoweringContext ^KT-72441
diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/klib/FirKlibCrossCompilationIdentityTestGenerated.java b/native/native.tests/klib-ir-inliner/tests-gen/org/jetbrains/kotlin/konan/test/klib/FirKlibCrossCompilationIdentityTestGenerated.java similarity index 96% rename from native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/klib/FirKlibCrossCompilationIdentityTestGenerated.java rename to native/native.tests/klib-ir-inliner/tests-gen/org/jetbrains/kotlin/konan/test/klib/FirKlibCrossCompilationIdentityTestGenerated.java index 5b37f4c..180534c 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/klib/FirKlibCrossCompilationIdentityTestGenerated.java +++ b/native/native.tests/klib-ir-inliner/tests-gen/org/jetbrains/kotlin/konan/test/klib/FirKlibCrossCompilationIdentityTestGenerated.java
@@ -14,7 +14,7 @@ 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 */ +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateKlibNativeTestsKt}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @TestMetadata("native/native.tests/testData/klib/cross-compilation/identity") @TestDataPath("$PROJECT_ROOT")
diff --git a/native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/generators/tests/GenerateKlibNativeTests.kt b/native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/generators/tests/GenerateKlibNativeTests.kt index bd326fe..b92ddc3 100644 --- a/native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/generators/tests/GenerateKlibNativeTests.kt +++ b/native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/generators/tests/GenerateKlibNativeTests.kt
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.konan.test.inlining.AbstractNativeUnboundIrSerializationTest import org.jetbrains.kotlin.konan.test.irText.* import org.jetbrains.kotlin.konan.test.dump.* +import org.jetbrains.kotlin.konan.test.klib.AbstractFirKlibCrossCompilationIdentityTest import org.jetbrains.kotlin.konan.test.serialization.AbstractNativeIrDeserializationTest import org.jetbrains.kotlin.konan.test.serialization.AbstractNativeIrDeserializationWithInlinedFunInKlibTest import org.jetbrains.kotlin.konan.test.syntheticAccessors.* @@ -295,6 +296,13 @@ model(targetBackend = TargetBackend.NATIVE) } } + + // KLIB cross-compilation tests. + testGroup("native/native.tests/klib-ir-inliner/tests-gen", "native/native.tests/testData/klib/cross-compilation/identity") { + testClass<AbstractFirKlibCrossCompilationIdentityTest> { + model() + } + } } generateTestGroupSuiteWithJUnit5 {
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/AbstractFirKlibCrossCompilationIdentityTest.kt b/native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/konan/test/klib/AbstractFirKlibCrossCompilationIdentityTest.kt similarity index 92% rename from native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/AbstractFirKlibCrossCompilationIdentityTest.kt rename to native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/konan/test/klib/AbstractFirKlibCrossCompilationIdentityTest.kt index c0be306..f55f558 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/AbstractFirKlibCrossCompilationIdentityTest.kt +++ b/native/native.tests/klib-ir-inliner/tests/org/jetbrains/kotlin/konan/test/klib/AbstractFirKlibCrossCompilationIdentityTest.kt
@@ -13,16 +13,20 @@ import org.jetbrains.kotlin.konan.test.blackbox.support.copyNativeHomeProperty import org.jetbrains.kotlin.konan.test.blackbox.support.util.dumpIr import org.jetbrains.kotlin.konan.test.blackbox.support.util.dumpMetadata +import org.jetbrains.kotlin.konan.test.converters.NativeInliningFacade import org.jetbrains.kotlin.konan.test.klib.ManifestWritingTest.Companion.readManifestAndSanitize -import org.jetbrains.kotlin.library.KotlinIrSignatureVersion import org.jetbrains.kotlin.platform.konan.NativePlatforms import org.jetbrains.kotlin.test.FirParser import org.jetbrains.kotlin.test.TargetBackend import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor import org.jetbrains.kotlin.test.backend.handlers.KlibArtifactHandler +import org.jetbrains.kotlin.test.backend.handlers.NoFir2IrCompilationErrorsHandler import org.jetbrains.kotlin.test.backend.handlers.NoFirCompilationErrorsHandler +import org.jetbrains.kotlin.test.backend.ir.IrDiagnosticsHandler import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.builders.firHandlersStep +import org.jetbrains.kotlin.test.builders.inlinedIrHandlersStep +import org.jetbrains.kotlin.test.builders.irHandlersStep import org.jetbrains.kotlin.test.builders.klibArtifactsHandlersStep import org.jetbrains.kotlin.test.directives.ConfigurationDirectives import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives @@ -93,6 +97,19 @@ useHandlers(::FirDiagnosticsHandler) } facadeStep(::Fir2IrNativeResultsConverter) + irHandlersStep { + useHandlers( + ::IrDiagnosticsHandler, + ::NoFir2IrCompilationErrorsHandler, + ) + } + facadeStep(::NativeInliningFacade) + inlinedIrHandlersStep{ + useHandlers( + ::IrDiagnosticsHandler, + ::NoFir2IrCompilationErrorsHandler, + ) + } facadeStep(::FirNativeKlibSerializerFacade) klibArtifactsHandlersStep { useHandlers(::NativeKlibCrossCompilationIdentityHandler)
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt b/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt index 006058ec..892e213 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt
@@ -15,7 +15,6 @@ import org.jetbrains.kotlin.konan.test.blackbox.support.EnforcedHostTarget import org.jetbrains.kotlin.konan.test.blackbox.support.EnforcedProperty import org.jetbrains.kotlin.konan.test.blackbox.support.group.* -import org.jetbrains.kotlin.konan.test.klib.AbstractFirKlibCrossCompilationIdentityTest import org.jetbrains.kotlin.test.TargetBackend import org.junit.jupiter.api.Tag import java.io.File @@ -155,13 +154,6 @@ } } - // KLIB cross-compilation tests. - testGroup("native/native.tests/tests-gen", "native/native.tests/testData/klib/cross-compilation/identity") { - testClass<AbstractFirKlibCrossCompilationIdentityTest> { - model() - } - } - // CInterop tests. testGroup("native/native.tests/tests-gen", "native/native.tests/testData/CInterop") { testClass<AbstractNativeCInteropFModulesTest>(
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/NativeTestSupport.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/NativeTestSupport.kt index 7506298..06d5692 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/NativeTestSupport.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/NativeTestSupport.kt
@@ -77,7 +77,7 @@ val kotlinNativeClassLoader = NativeTestSupport.computeNativeClassLoader(this::class.java.classLoader) } -internal object RegularKotlinNativeClassLoader { +object RegularKotlinNativeClassLoader { val kotlinNativeClassLoader = NativeTestSupport.computeNativeClassLoader() }
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/TestCompilationArtifacts.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/TestCompilationArtifacts.kt index 09c1aab..48d984e 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/TestCompilationArtifacts.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/TestCompilationArtifacts.kt
@@ -67,7 +67,7 @@ signatureVersion: KotlinIrSignatureVersion? ): String = klibFile.dumpMetadata(kotlinNativeClassLoader, printSignatures, signatureVersion) -internal fun File.dumpMetadata( +fun File.dumpMetadata( kotlinNativeClassLoader: ClassLoader, printSignatures: Boolean, signatureVersion: KotlinIrSignatureVersion? @@ -83,7 +83,7 @@ kotlinNativeClassLoader: ClassLoader, ): String = klibFile.dumpIr(kotlinNativeClassLoader) -internal fun File.dumpIr( +fun File.dumpIr( kotlinNativeClassLoader: ClassLoader, ): String = invokeKlibTool( kotlinNativeClassLoader,
diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/ManifestWritingTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/ManifestWritingTest.kt index a27065f..665752f 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/ManifestWritingTest.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/klib/ManifestWritingTest.kt
@@ -143,7 +143,7 @@ KotlinTestUtils.assertEqualsToFile(expectedManifest, actualManifestSanitizedText) } - internal fun readManifestAndSanitize(klibDir: File, singleTargetInManifestToBeReplacedByTheAlias: KonanTarget?): String { + fun readManifestAndSanitize(klibDir: File, singleTargetInManifestToBeReplacedByTheAlias: KonanTarget?): String { val manifestFile = File(klibDir, "default/manifest") assertTrue(manifestFile.exists()) { "File does not exist: $manifestFile" }