KT-56369: [cinterop] Add gradle integration test on '-fmodules' hint
This commit is contained in:
committed by
Space Team
parent
4ad5be35f4
commit
5473db9ac5
+19
-1
@@ -7,8 +7,9 @@ package org.jetbrains.kotlin.gradle.native
|
||||
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.junit.jupiter.api.condition.OS
|
||||
|
||||
@MppGradlePluginTests
|
||||
@NativeGradlePluginTests
|
||||
class CinteropIT : KGPBaseTest() {
|
||||
|
||||
@GradleTest
|
||||
@@ -35,4 +36,21 @@ class CinteropIT : KGPBaseTest() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@GradleTest
|
||||
@OsCondition(supportedOn = [OS.MAC], enabledOnCI = [OS.MAC])
|
||||
fun `cinterop gives hint about -fmodules`(gradleVersion: GradleVersion) {
|
||||
nativeProject("cinterop-fmodules", gradleVersion = gradleVersion) {
|
||||
val defFile = projectPath.resolve("native_lib/nlib.def").toFile()
|
||||
|
||||
buildAndFail(":cinteropNlibIosX64") {
|
||||
assertOutputContains("Try adding `-compiler-option -fmodules` to cinterop.")
|
||||
}
|
||||
|
||||
defFile.appendText("\ncompilerOpts = -fmodules")
|
||||
build(":cinteropNlibIosX64") {
|
||||
assertOutputDoesNotContain("Try adding `-compiler-option -fmodules` to cinterop.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
plugins {
|
||||
kotlin("multiplatform")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
kotlin {
|
||||
iosX64 {
|
||||
compilations.getByName("main") {
|
||||
cinterops.create("nlib") {
|
||||
defFile(file("$projectDir/native_lib/nlib.def"))
|
||||
includeDirs("$projectDir/native_lib")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
@import Bar;
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
module Bar {
|
||||
header "bar.h"
|
||||
}
|
||||
module Foo {
|
||||
header "foo.h"
|
||||
}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
modules = Foo
|
||||
package = lib.Foo
|
||||
language = Objective-C
|
||||
Reference in New Issue
Block a user