diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle index a49817d4d85..eef53468be3 100644 --- a/kotlin-native/backend.native/tests/build.gradle +++ b/kotlin-native/backend.native/tests/build.gradle @@ -1505,13 +1505,6 @@ standaloneTest("interop_libiconv") { UtilsKt.dependsOnPlatformLibs(it) } -standaloneTest("interop_zlib") { - enabled = (project.testTarget == null) - source = "interop/platform_zlib.kt" - useGoldenData = true - UtilsKt.dependsOnPlatformLibs(it) -} - standaloneTest("interop_objc_illegal_sharing") { disabled = !PlatformInfo.isAppleTarget(project) source = "interop/objc/illegal_sharing.kt" diff --git a/kotlin-native/backend.native/tests/interop/platform_zlib.out b/kotlin-native/backend.native/tests/interop/platform_zlib.out deleted file mode 100644 index d27134875b8..00000000000 --- a/kotlin-native/backend.native/tests/interop/platform_zlib.out +++ /dev/null @@ -1,2 +0,0 @@ -Hello! -Hello! diff --git a/kotlin-native/backend.native/tests/interop/platform_zlib.kt b/native/native.tests/testData/codegen/interop/platform_zlib.kt similarity index 75% rename from kotlin-native/backend.native/tests/interop/platform_zlib.kt rename to native/native.tests/testData/codegen/interop/platform_zlib.kt index 0de4f44fea8..af4ddaafedf 100644 --- a/kotlin-native/backend.native/tests/interop/platform_zlib.kt +++ b/native/native.tests/testData/codegen/interop/platform_zlib.kt @@ -2,15 +2,17 @@ * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the LICENSE file. */ - +// TARGET_BACKEND: NATIVE +@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class) import kotlinx.cinterop.* +import kotlin.test.assertEquals import platform.zlib.* val source = immutableBlobOf(0xF3, 0x48, 0xCD, 0xC9, 0xC9, 0x57, 0x04, 0x00).asCPointer().reinterpret() val golden = immutableBlobOf(0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x21, 0x00).asCPointer() -fun main(args: Array) = memScoped { +fun box() = memScoped { val buffer = ByteArray(32) buffer.usePinned { pinned -> val z = alloc().apply { @@ -21,7 +23,8 @@ fun main(args: Array) = memScoped { }.ptr if (inflateInit2(z, -15) == Z_OK && inflate(z, Z_FINISH) == Z_STREAM_END && inflateEnd(z) == Z_OK) - println(buffer.toKString()) + assertEquals("Hello!", buffer.toKString()) } - println(golden.toKString()) + assertEquals("Hello!", golden.toKString()) + "OK" } diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java index 1789df6c287..b9f26aba2e2 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/FirNativeCodegenLocalTestGenerated.java @@ -2862,6 +2862,25 @@ public class FirNativeCodegenLocalTestGenerated extends AbstractNativeCodegenBox } } + @Nested + @TestMetadata("native/native.tests/testData/codegen/interop") + @TestDataPath("$PROJECT_ROOT") + @Tag("frontend-fir") + @FirPipeline() + @UseExtTestCaseGroupProvider() + public class Interop { + @Test + public void testAllFilesPresentInInterop() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/interop"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("platform_zlib.kt") + public void testPlatform_zlib() throws Exception { + runTest("native/native.tests/testData/codegen/interop/platform_zlib.kt"); + } + } + @Nested @TestMetadata("native/native.tests/testData/codegen/intrinsics") @TestDataPath("$PROJECT_ROOT") diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java index de288814a18..f370ebdd508 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/test/blackbox/NativeCodegenLocalTestGenerated.java @@ -2800,6 +2800,23 @@ public class NativeCodegenLocalTestGenerated extends AbstractNativeCodegenBoxTes } } + @Nested + @TestMetadata("native/native.tests/testData/codegen/interop") + @TestDataPath("$PROJECT_ROOT") + @UseExtTestCaseGroupProvider() + public class Interop { + @Test + public void testAllFilesPresentInInterop() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/codegen/interop"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); + } + + @Test + @TestMetadata("platform_zlib.kt") + public void testPlatform_zlib() throws Exception { + runTest("native/native.tests/testData/codegen/interop/platform_zlib.kt"); + } + } + @Nested @TestMetadata("native/native.tests/testData/codegen/intrinsics") @TestDataPath("$PROJECT_ROOT")