[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-76236
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 27904a8..f88fccc 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 c4d8d2e..9a08d57 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 40e62ad64..08c873a 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" }