KT-56369: [cinterop] Add gradle integration test on '-fmodules' hint

This commit is contained in:
Konstantin Tskhovrebov
2023-09-18 21:55:52 +02:00
committed by Space Team
parent 4ad5be35f4
commit 5473db9ac5
6 changed files with 48 additions and 1 deletions
@@ -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.")
}
}
}
}
@@ -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")
}
}
}
}
@@ -0,0 +1,6 @@
module Bar {
header "bar.h"
}
module Foo {
header "foo.h"
}
@@ -0,0 +1,3 @@
modules = Foo
package = lib.Foo
language = Objective-C