[K/N][Tests] Migrate dylib-interop-exe tests
^KT-61259
This commit is contained in:
committed by
Space Team
parent
83d851dd61
commit
2b2c685827
@@ -963,73 +963,6 @@ createInterop("workerSignals") {
|
||||
}
|
||||
|
||||
if (PlatformInfo.isAppleTarget(project)) {
|
||||
createInterop("objcSmoke") {
|
||||
it.defFile 'interop/objc/objcSmoke.def'
|
||||
it.headers "$projectDir/interop/objc/smoke.h"
|
||||
}
|
||||
|
||||
createInterop("objcTests") {
|
||||
it.defFile 'interop/objc/objcTests.def'
|
||||
it.headers fileTree("$projectDir/interop/objc/tests") { include '**/*.h' }
|
||||
}
|
||||
|
||||
createInterop("objcMisc") {
|
||||
it.defFile 'interop/objc_with_initializer/objc_misc.def'
|
||||
it.headers "$projectDir/interop/objc_with_initializer/objc_misc.h"
|
||||
}
|
||||
|
||||
createInterop("objcMessaging") {
|
||||
it.defFile 'interop/objc/msg_send/messaging.def'
|
||||
it.headers "$projectDir/interop/objc/msg_send/messaging.h"
|
||||
}
|
||||
|
||||
createInterop("foreignException") {
|
||||
it.defFile 'interop/objc/foreignException/objc_wrap.def'
|
||||
it.headers "$projectDir/interop/objc/foreignException/objc_wrap.h"
|
||||
}
|
||||
|
||||
createInterop("foreignExceptionMode_default") {
|
||||
it.defFile 'interop/objc/foreignException/objcExceptionMode.def'
|
||||
it.headers "$projectDir/interop/objc/foreignException/objc_wrap.h"
|
||||
}
|
||||
|
||||
createInterop("foreignExceptionMode_wrap") {
|
||||
it.defFile 'interop/objc/foreignException/objcExceptionMode.def'
|
||||
it.headers "$projectDir/interop/objc/foreignException/objc_wrap.h"
|
||||
it.extraOpts '-Xforeign-exception-mode', "objc-wrap"
|
||||
}
|
||||
|
||||
createInterop("objcKt43517") {
|
||||
it.defFile 'framework/kt43517/kt43517.def'
|
||||
}
|
||||
createInterop("objc_kt42172") {
|
||||
it.defFile 'interop/objc/kt42172/objclib.def'
|
||||
it.headers "$projectDir/interop/objc/kt42172/objclib.h"
|
||||
}
|
||||
createInterop("objc_kt55938") {
|
||||
it.defFile 'interop/objc/kt55938/objclib.def'
|
||||
it.headers "$projectDir/interop/objc/kt55938/objclib.h"
|
||||
}
|
||||
|
||||
createInterop("objc_include_categories") {
|
||||
it.defFile 'interop/objc/include_categories/objc_include_categories.def'
|
||||
it.headers "$projectDir/interop/objc/include_categories/objc_include_categories.h"
|
||||
}
|
||||
createInterop("frameworkForwardDeclarations") {
|
||||
it.defFile 'framework/forwardDeclarations/clib.def'
|
||||
}
|
||||
createInterop("objc_kt56402") {
|
||||
it.defFile 'interop/objc/kt56402/objclib.def'
|
||||
it.headers "$projectDir/interop/objc/kt56402/objclib.h"
|
||||
}
|
||||
createInterop("objc_friendly_dealloc") {
|
||||
it.defFile 'interop/objc/objc_friendly_dealloc/objclib.def'
|
||||
it.headers "$projectDir/interop/objc/objc_friendly_dealloc/objclib.h"
|
||||
}
|
||||
createInterop("objCAction") {
|
||||
it.defFile 'interop/objc/objCAction/objclib.def'
|
||||
it.headers "$projectDir/interop/objc/objCAction/objclib.h"
|
||||
}
|
||||
createInterop("kt63423_dispose_on_main_stress") {
|
||||
it.defFile 'interop/objc/kt63423_dispose_on_main_stress/objclib.def'
|
||||
it.headers "$projectDir/interop/objc/kt63423_dispose_on_main_stress/objclib.h"
|
||||
@@ -1157,160 +1090,6 @@ if (PlatformInfo.isAppleTarget(project)) {
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
}
|
||||
|
||||
|
||||
interopTest("interop_objc_global_initializer") {
|
||||
useGoldenData = true
|
||||
source = "interop/objc_with_initializer/objc_test.kt"
|
||||
interop = 'objcMisc'
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjcmisc.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc_with_initializer/objc_misc.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_msg_send") {
|
||||
source = "interop/objc/msg_send/main.kt"
|
||||
interop = 'objcMessaging'
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjcmessaging.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/msg_send/messaging.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_foreignException") {
|
||||
source = "interop/objc/foreignException/objc_wrap.kt"
|
||||
interop = 'foreignException'
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjcexception.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/foreignException/objc_wrap.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_foreignExceptionMode_wrap") {
|
||||
source = "interop/objc/foreignException/objcExceptionMode_wrap.kt"
|
||||
interop = 'foreignExceptionMode_wrap'
|
||||
useGoldenData = true
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjcexception.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/foreignException/objc_wrap.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_foreignExceptionMode_default") {
|
||||
source = "interop/objc/foreignException/objcExceptionMode_default.kt"
|
||||
interop = 'foreignExceptionMode_default'
|
||||
useGoldenData = true
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjcexception.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/foreignException/objc_wrap.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_kt42172") {
|
||||
enabled = !isNoopGC
|
||||
source = "interop/objc/kt42172/main.kt"
|
||||
interop = "objc_kt42172"
|
||||
flags = ['-opt-in=kotlin.native.internal.InternalForKotlinNative']
|
||||
useGoldenData = true
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjc_kt42172.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/kt42172/objclib.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_kt55938") {
|
||||
source = "interop/objc/kt55938/main.kt"
|
||||
lib = "interop/objc/kt55938/lib.kt"
|
||||
interop = "objc_kt55938"
|
||||
useGoldenData = true
|
||||
enabled = cacheTesting != null
|
||||
flags = [
|
||||
"-Xauto-cache-from=$testOutputRoot/local/objc_kt55938",
|
||||
"-Xauto-cache-from=$testOutputRoot/local/interop_objc_kt55938",
|
||||
"-Xauto-cache-dir=$testOutputRoot/local/interop_objc_kt55938/cache",
|
||||
"-Xsuppress-version-warnings", // suppresses warning about experimental language version, otherwise test fails with K2 due to -Werror
|
||||
"-Werror" // to forbid retry with auto-cache disabled
|
||||
]
|
||||
|
||||
UtilsKt.findKonanBuildTask(project, "objc_kt55938", target).configure {
|
||||
it.doFirst {
|
||||
def cacheDir = new File("$testOutputRoot/local/interop_objc_kt55938/cache")
|
||||
cacheDir.deleteDir()
|
||||
mkdir(cacheDir)
|
||||
}
|
||||
}
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjc_kt55938.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/kt55938/objclib.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
standaloneTest("objc_arc_contract") {
|
||||
def bcFile = project.layout.buildDirectory.file("objc_arc_contract.bc").get().asFile
|
||||
doBeforeBuild {
|
||||
@@ -1325,24 +1104,6 @@ if (PlatformInfo.isAppleTarget(project)) {
|
||||
flags = ["-native-library", bcFile.toString()]
|
||||
}
|
||||
|
||||
interopTest("interop_objc_include_categories") {
|
||||
useGoldenData = true
|
||||
source = "interop/objc/include_categories/main.kt"
|
||||
interop = "objc_include_categories"
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjcincludecategories.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/include_categories/objc_include_categories.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
standaloneTest("interop_kt55653") {
|
||||
// Test depends on macOS-specific AppKit
|
||||
enabled = (project.testTarget == 'macos_x64' || project.testTarget == 'macos_arm64' || project.testTarget == null)
|
||||
@@ -1359,70 +1120,6 @@ if (PlatformInfo.isAppleTarget(project)) {
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
}
|
||||
|
||||
interopTest("interop_objc_kt56402") {
|
||||
// Test depends on macOS-specific AppKit
|
||||
enabled = (project.testTarget == 'macos_x64' || project.testTarget == 'macos_arm64' || project.testTarget == null)
|
||||
&& !isNoopGC // requires some GC
|
||||
source = 'interop/objc/kt56402/main.kt'
|
||||
interop = "objc_kt56402"
|
||||
flags = ["-tr", "-e", "runAllTests"] // Generate test suites, but use custom entrypoint.
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjc_kt56402.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/kt56402/objclib.m"
|
||||
args "-g"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
args '-framework', 'AppKit'
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interopTest("interop_objc_friendly_dealloc") {
|
||||
enabled = !isNoopGC // requires some GC
|
||||
source = 'interop/objc/objc_friendly_dealloc/main.kt'
|
||||
interop = "objc_friendly_dealloc"
|
||||
flags = ["-tr"]
|
||||
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjc_friendly_dealloc.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/objc_friendly_dealloc/objclib.m"
|
||||
args "-lobjc", '-fno-objc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
}
|
||||
|
||||
interopTest("interop_objCAction") {
|
||||
source = 'interop/objc/objCAction/main.kt'
|
||||
interop = "objCAction"
|
||||
flags = ["-tr"]
|
||||
doBeforeBuild {
|
||||
def dylibFile = project.layout.buildDirectory.file("libobjCAction.dylib").get().asFile
|
||||
mkdir(dylibFile.parentFile)
|
||||
project.extensions.execClang.execClangForCompilerTests(project.target) {
|
||||
args "$projectDir/interop/objc/objCAction/objclib.m"
|
||||
args "-lobjc", '-fobjc-arc'
|
||||
args '-fPIC', '-shared', '-o', dylibFile.toString()
|
||||
}
|
||||
if (UtilsKt.isSimulatorTarget(project, project.target)) {
|
||||
UtilsKt.codesign(project, dylibFile.toString())
|
||||
}
|
||||
}
|
||||
UtilsKt.dependsOnPlatformLibs(it)
|
||||
}
|
||||
|
||||
interopTest("interop_objc_kt63423_dispose_on_main_stress") {
|
||||
// Test depends on macOS-specific AppKit
|
||||
enabled = (project.testTarget == 'macos_x64' || project.testTarget == 'macos_arm64' || project.testTarget == null)
|
||||
|
||||
Reference in New Issue
Block a user