From f77f83e741695ec36a2356fe4b226b5d9db8aad5 Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Thu, 7 Sep 2023 10:29:16 +0200 Subject: [PATCH] Native: fix support for cross-target filecheck tests There was a minor mistake in the build script configuration, leading to a missing task dependency when running the tests with `-Pkotlin.native.home=`. More specifically, the build script was checking if the cross-dist for the main tests target (`-PtestTarget=`) is in place, but instead it should have checked if the cross-dist for the test cross-target (`test.targetName`) is in place. This commit fixes the check, and thus adds the missing task dependency. --- .../src/main/kotlin/org/jetbrains/kotlin/Utils.kt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt index e18eae35df1..77852518e4e 100644 --- a/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt +++ b/kotlin-native/build-tools/src/main/kotlin/org/jetbrains/kotlin/Utils.kt @@ -204,14 +204,13 @@ private val Project.hasPlatformLibs: Boolean return false } -private val Project.isCrossDist: Boolean - get() { - if (!isDefaultNativeHome) { - return File(buildDistribution(project.kotlinNativeDist.absolutePath).runtime(project.testTarget)) +private fun Project.isCrossDist(target: KonanTarget): Boolean { + if (!isDefaultNativeHome) { + return File(buildDistribution(project.kotlinNativeDist.absolutePath).runtime(target)) .exists() - } - return false } + return false +} fun Task.dependsOnDist() { val target = project.testTarget @@ -223,7 +222,7 @@ fun Task.dependsOnDist() { dependsOn(":kotlin-native:${target.name}CrossDist") } } else { - if (!project.isCrossDist) { + if (!project.isCrossDist(project.testTarget)) { dependsOn(":kotlin-native:${target.name}CrossDist") } } @@ -237,7 +236,7 @@ fun Task.dependsOnCrossDist(target: KonanTarget) { dependsOn(":kotlin-native:${target.name}CrossDist") } } else { - if (!project.isCrossDist) { + if (!project.isCrossDist(target)) { dependsOn(":kotlin-native:${target.name}CrossDist") } }