[K/N][Tests] Migrate two more cinterop tests
^KT-61259
This commit is contained in:
committed by
Space Team
parent
1e7e42baf2
commit
48df87f635
+26
-1
@@ -1,7 +1,22 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// MODULE: cinterop
|
||||
// FILE: kt51925.def
|
||||
strictEnums = E
|
||||
---
|
||||
enum E {
|
||||
X = 1, Y = 2, Z = 42
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
int d;
|
||||
} Struct;
|
||||
|
||||
// MODULE: lib(cinterop)
|
||||
// FILE: lib.kt
|
||||
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
|
||||
|
||||
import kt51925.*
|
||||
@@ -22,3 +37,13 @@ inline fun foo2(): Int {
|
||||
return bar2(s)
|
||||
}
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: main.kt
|
||||
import kotlin.test.*
|
||||
|
||||
fun box(): String {
|
||||
assertEquals(42u, foo1())
|
||||
assertEquals(42, foo2())
|
||||
return "OK"
|
||||
}
|
||||
@@ -1023,14 +1023,6 @@ createInterop("sockets") {
|
||||
it.defFile 'interop/basics/sockets.def'
|
||||
}
|
||||
|
||||
createInterop("concurrentTerminate") {
|
||||
it.defFile 'interop/concurrentTerminate/concurrentTerminate.def'
|
||||
it.headers "$projectDir/interop/concurrentTerminate/async.h"
|
||||
// TODO: Using `-Xcompile-source` does not imply dependency on that source, so the task will no re-run when the source is updated.
|
||||
it.extraOpts "-Xcompile-source", "$projectDir/interop/concurrentTerminate/async.cpp"
|
||||
it.extraOpts "-Xsource-compiler-option", "-std=c++17"
|
||||
}
|
||||
|
||||
createInterop("embedStaticLibraries") {
|
||||
it.defFile 'interop/embedStaticLibraries/embedStaticLibraries.def'
|
||||
it.headers "$projectDir/interop/embedStaticLibraries/embedStaticLibraries.h"
|
||||
@@ -1055,10 +1047,6 @@ createInterop("embedStaticLibraries") {
|
||||
it.extraOpts '-staticLibrary', "2.a"
|
||||
}
|
||||
|
||||
createInterop("kt51925") {
|
||||
it.defFile 'interop/kt51925/kt51925.def'
|
||||
}
|
||||
|
||||
createInterop("kt43502") {
|
||||
it.defFile 'interop/kt43502/kt43502.def'
|
||||
it.headers "$projectDir/interop/kt43502/kt43502.h"
|
||||
@@ -1328,13 +1316,6 @@ standaloneTest("interop_objc_allocException") {
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
}
|
||||
|
||||
interopTest("interop_concurrentTerminate") {
|
||||
source = "interop/concurrentTerminate/main.kt"
|
||||
interop = 'concurrentTerminate'
|
||||
outputChecker = { str -> str.endsWith("Reporting error!\n") }
|
||||
expectedExitStatus = 99
|
||||
}
|
||||
|
||||
interopTest("interop_embedStaticLibraries") {
|
||||
source = "interop/embedStaticLibraries/main.kt"
|
||||
interop = 'embedStaticLibraries'
|
||||
@@ -1349,14 +1330,6 @@ interopTest("interop_withSpaces") {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: This test should be run with caches on.
|
||||
interopTest("interop_kt51925") {
|
||||
interop = 'kt51925'
|
||||
lib = 'interop/kt51925/kt51925_lib.kt'
|
||||
source = 'interop/kt51925/kt51925_main.kt'
|
||||
useGoldenData = true
|
||||
}
|
||||
|
||||
interopTestBase("interop_forwardDeclarationsCast", false, true) {
|
||||
enabled = PlatformInfo.isAppleTarget(project)
|
||||
interop = 'forwardDeclarationsCastA'
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int test_ConcurrentTerminate();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -1,5 +0,0 @@
|
||||
package async
|
||||
|
||||
---
|
||||
|
||||
int test_ConcurrentTerminate();
|
||||
@@ -1,7 +0,0 @@
|
||||
import async.*
|
||||
import kotlinx.cinterop.*
|
||||
|
||||
fun main() {
|
||||
test_ConcurrentTerminate()
|
||||
println("This is not expected.")
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
strictEnums = E
|
||||
---
|
||||
enum E {
|
||||
X = 1, Y = 2, Z = 42
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
int d;
|
||||
} Struct;
|
||||
@@ -1,9 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
fun main() {
|
||||
println(foo1())
|
||||
println(foo2())
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
42
|
||||
42
|
||||
+34
@@ -1,3 +1,25 @@
|
||||
// TARGET_BACKEND: NATIVE
|
||||
// EXIT_CODE: 99
|
||||
// OUTPUT_REGEX: .*Reporting error![\r\n]+
|
||||
|
||||
// MODULE: cinterop
|
||||
// FILE: concurrentTerminate.def
|
||||
package async
|
||||
---
|
||||
int test_ConcurrentTerminate();
|
||||
|
||||
// FILE: async.h
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int test_ConcurrentTerminate();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
// FILE: async.cpp
|
||||
#include <thread>
|
||||
#include <future>
|
||||
#include <chrono>
|
||||
@@ -27,3 +49,15 @@ int test_ConcurrentTerminate() {
|
||||
for (auto &future : futures) future.get();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// MODULE: main(cinterop)
|
||||
// FILE: main.kt
|
||||
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
|
||||
import async.*
|
||||
import kotlinx.cinterop.*
|
||||
|
||||
fun main() {
|
||||
test_ConcurrentTerminate()
|
||||
println("This is not expected.")
|
||||
}
|
||||
+6
@@ -4832,6 +4832,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt44283.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt51925.kt")
|
||||
public void testKt51925() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt51925.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt54284.kt")
|
||||
public void testKt54284() throws Exception {
|
||||
|
||||
+6
@@ -4942,6 +4942,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt44283.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt51925.kt")
|
||||
public void testKt51925() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt51925.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt54284.kt")
|
||||
public void testKt54284() throws Exception {
|
||||
|
||||
+6
@@ -174,6 +174,12 @@ public class FirNativeStandaloneTestGenerated extends AbstractNativeBlackBoxTest
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/standalone/termination"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("concurrentTerminate.kt")
|
||||
public void testConcurrentTerminate() throws Exception {
|
||||
runTest("native/native.tests/testData/standalone/termination/concurrentTerminate.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exitProcess.kt")
|
||||
public void testExitProcess() throws Exception {
|
||||
|
||||
+6
@@ -4722,6 +4722,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt44283.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt51925.kt")
|
||||
public void testKt51925() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt51925.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt54284.kt")
|
||||
public void testKt54284() throws Exception {
|
||||
|
||||
+6
@@ -4833,6 +4833,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt44283.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt51925.kt")
|
||||
public void testKt51925() throws Exception {
|
||||
runTest("compiler/testData/codegen/box/cinterop/kt51925.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("kt54284.kt")
|
||||
public void testKt54284() throws Exception {
|
||||
|
||||
+6
@@ -165,6 +165,12 @@ public class NativeStandaloneTestGenerated extends AbstractNativeBlackBoxTest {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("native/native.tests/testData/standalone/termination"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("concurrentTerminate.kt")
|
||||
public void testConcurrentTerminate() throws Exception {
|
||||
runTest("native/native.tests/testData/standalone/termination/concurrentTerminate.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("exitProcess.kt")
|
||||
public void testExitProcess() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user