diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index 35c38e682f1..08cd109c036 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -3477,6 +3477,10 @@ createInterop("cunion") { it.defFile 'interop/basics/cunion.def' } +createInterop("cenums") { + it.defFile 'interop/basics/cenums.def' +} + createInterop("carrayPointers") { it.defFile 'interop/basics/carrayPointers.def' } @@ -3736,6 +3740,12 @@ interopTest("interop_union") { source = "interop/basics/union.kt" } +interopTest("interop_enums") { + disabled = (project.testTarget == 'wasm32') // No interop for wasm yet. + interop = 'cenums' + source = "interop/basics/enums.kt" +} + interopTest("interop_array_pointers") { disabled = (project.testTarget == 'wasm32') // No interop for wasm yet. interop = 'carrayPointers' diff --git a/backend.native/tests/interop/basics/cenums.def b/backend.native/tests/interop/basics/cenums.def new file mode 100644 index 00000000000..7c81845152c --- /dev/null +++ b/backend.native/tests/interop/basics/cenums.def @@ -0,0 +1,4 @@ +--- +enum E { + A, B, C +}; \ No newline at end of file diff --git a/backend.native/tests/interop/basics/enums.kt b/backend.native/tests/interop/basics/enums.kt new file mode 100644 index 00000000000..56eedaa0d01 --- /dev/null +++ b/backend.native/tests/interop/basics/enums.kt @@ -0,0 +1,15 @@ +import cenums.* +import kotlinx.cinterop.* +import kotlin.test.* + +fun main() { + memScoped { + val e = alloc() + e.value = E.C + assertEquals(E.C, e.value) + + assertFailsWith { + e.value = TODO() + } + } +} \ No newline at end of file