From 3b4ca56f74de5a7dacd19524c67cdd5876baf8b7 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Tue, 13 Feb 2024 15:07:19 +0100 Subject: [PATCH] [K/N][Tests] Migrate test platform_zlib.kt ^KT-61259 --- .../backend.native/tests/build.gradle | 7 ------- .../tests/interop/platform_zlib.out | 2 -- .../codegen}/interop/platform_zlib.kt | 11 +++++++---- .../FirNativeCodegenLocalTestGenerated.java | 19 +++++++++++++++++++ .../NativeCodegenLocalTestGenerated.java | 17 +++++++++++++++++ 5 files changed, 43 insertions(+), 13 deletions(-) delete mode 100644 kotlin-native/backend.native/tests/interop/platform_zlib.out rename {kotlin-native/backend.native/tests => native/native.tests/testData/codegen}/interop/platform_zlib.kt (75%) 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")