[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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user