[Native][Test] Fix platformLibs dependencies

Sanity tests should not run tests that depend on platform libs. Also
fix platform libs dependency setting
This commit is contained in:
Pavel Punegov
2021-11-22 16:52:29 +03:00
committed by Space
parent cac286c915
commit d73f8ea44e
2 changed files with 22 additions and 3 deletions
@@ -154,10 +154,10 @@ konanArtifacts {
library('testLibrary') {
srcDir 'testLibrary'
}
def target = project.testTarget ?: 'host'
library('baseTestClass', targets: [target]) {
srcFiles 'testing/library.kt'
}
UtilsKt.dependsOnDist(UtilsKt.findKonanBuildTask(project, "testLibrary", target))
}
configure(project.tasks.findByName("compileKonanBaseTestClass${UtilsKt.getTestTargetSuffix(project)}")) {
UtilsKt.dependsOnDist(it)
@@ -207,8 +207,15 @@ run {
}
task sanity {
dependsOn(tasksOf(KonanTest))
dependsOn(tasksOf(FrameworkTest))
def platformLibsTasks =":distPlatformLibs" + ":kotlin-native:platformLibs"
dependsOn(tasksOf(KonanTest) { task ->
!UtilsKt.isDependsOnPlatformLibs(task) &&
task.name != "library_mismatch" // This test requires the wasm32 stdlib which is unavailable during a sanity run.
})
// Add framework tests
dependsOn(tasksOf(FrameworkTest) { task ->
!UtilsKt.isDependsOnPlatformLibs(task)
})
dependsOn(tasksOf(MetadataComparisonTest))
// Add regular gradle test tasks
dependsOn(tasksOf(Test))
@@ -121,6 +121,11 @@ fun Task.dependsOnPlatformLibs() {
this.dependsOn(":kotlin-native:platformLibs:${project.testTarget.name}-$it")
//this.dependsOn(":kotlin-native:platformLibs:${project.testTarget.name}-${it}Cache")
}
if (this is KonanLinkTest) {
project.file(lib).dependencies().forEach {
this.dependsOn(":kotlin-native:platformLibs:${project.testTarget.name}-$it")
}
}
} ?: error("unsupported task : $this")
}
@@ -209,6 +214,13 @@ fun TaskProvider<Task>.dependsOnDist() {
}
}
fun Task.isDependsOnPlatformLibs(): Boolean {
return dependsOn.any {
it.toString().contains(":kotlin-native:platformLibs") ||
it.toString().contains(":kotlin-native:distPlatformLibs")
}
}
fun Task.dependsOnDist() {
dependsOn(":kotlin-native:dist")
val target = project.testTarget