diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle index 4fb58ab08f8..4b27a900e3a 100644 --- a/kotlin-native/backend.native/tests/build.gradle +++ b/kotlin-native/backend.native/tests/build.gradle @@ -130,19 +130,16 @@ testOutputStdlib.mkdirs() konanArtifacts { library('testLibrary') { - if (!useCustomDist) { - dependsOn ':dist' - } srcDir 'testLibrary' } def target = project.testTarget ?: 'host' library('baseTestClass', targets: [target]) { - if (!useCustomDist) { - dependsOn ':dist' - } srcFiles 'testing/library.kt' } } +configure(project.tasks.findByName("compileKonanBaseTestClass${UtilsKt.getTestTargetSuffix(project)}")) { + UtilsKt.dependsOnDist(it) +} def installTestLib = tasks.register("installTestLibrary", KlibInstall) { dependsOn "compileKonanTestLibraryHost" @@ -187,14 +184,8 @@ run { } task sanity { - def platformLibsTasks = targetList.collect { ":kotlin-native:${it}PlatformLibs" } + ":distPlatformLibs" - dependsOn(tasksOf(KonanTest) { task -> - task.getDependsOn().every { !platformLibsTasks.contains(it) } && - task.name != "library_mismatch" // This test requires the wasm32 stdlib which is unavailable during a sanity run. - }) - dependsOn(tasksOf(FrameworkTest) { task -> - task.getDependsOn().every { !platformLibsTasks.contains(it) } - }) + dependsOn(tasksOf(KonanTest)) + dependsOn(tasksOf(FrameworkTest)) dependsOn(tasksOf(MetadataComparisonTest)) // Add regular gradle test tasks dependsOn(tasksOf(Test)) @@ -240,17 +231,6 @@ boolean isExcluded(String dir) { return result } -void dependsOnPlatformLibs(Task t) { - if (!useCustomDist) { - def testTarget = project.target - if (testTarget != project.platformManager.Companion.host) { - t.dependsOn(":${testTarget}PlatformLibs") - } else { - t.dependsOn(':kotlin-native:distPlatformLibs') - } - } -} - /** * Creates a task for a standalone test. Configures runner and adds building task. */ @@ -2112,10 +2092,10 @@ linkTest("link_omit_unused") { } standaloneTest("link_default_libs") { - dependsOnPlatformLibs(it) enabled = (project.testTarget != 'wasm32') // there will be no posix.klib for wasm goldValue = "sizet = 0\n" source = "link/default/default.kt" + UtilsKt.dependsOnPlatformLibs(it) } standaloneTest("link_testLib_explicitly") { @@ -2134,11 +2114,11 @@ standaloneTest("link_testLib_explicitly") { } linkTest("no_purge_for_dependencies") { - dependsOnPlatformLibs(it) enabled = (project.testTarget != 'wasm32') // there will be no posix.klib for wasm goldValue = "linked library\nand symbols from posix available: 17; 1.0\n" source = "link/purge1/prog.kt" lib = "link/purge1/lib.kt" + UtilsKt.dependsOnPlatformLibs(it) } task for0(type: KonanLocalTest) { @@ -3943,10 +3923,10 @@ Task interopTestMultifile(String name, Closure configureClosur } standaloneTest("interop_objc_allocException") { - dependsOnPlatformLibs(it) disabled = !isAppleTarget(project) expectedExitStatus = 0 source = "interop/objc/allocException.kt" + UtilsKt.dependsOnPlatformLibs(it) } interopTest("interop0") { @@ -3997,10 +3977,10 @@ interopTest("interop4") { } standaloneTest("interop5") { - dependsOnPlatformLibs(it) enabled = (project.testTarget != 'wasm32') // No interop for wasm yet. goldValue = "Hello!\n" source = "interop/basics/5.kt" + UtilsKt.dependsOnPlatformLibs(it) } interopTest("interop_bitfields") { @@ -4317,7 +4297,7 @@ if (PlatformInfo.isAppleTarget(project)) { interopTest("interop_objc_foreignException") { source = "interop/objc/foreignException/objc_wrap.kt" interop = 'foreignException' - dependsOnPlatformLibs(it) + UtilsKt.dependsOnPlatformLibs(it) doBeforeBuild { mkdir(buildDir) @@ -4336,7 +4316,7 @@ if (PlatformInfo.isAppleTarget(project)) { source = "interop/objc/foreignException/objcExceptionMode.kt" interop = 'foreignExceptionMode_wrap' goldValue = "OK: ForeignException\n" - dependsOnPlatformLibs(it) + UtilsKt.dependsOnPlatformLibs(it) doBeforeBuild { mkdir(buildDir) @@ -4355,7 +4335,7 @@ if (PlatformInfo.isAppleTarget(project)) { source = "interop/objc/foreignException/objcExceptionMode.kt" interop = 'foreignExceptionMode_default' goldValue = "OK: Ends with uncaught exception handler\n" - dependsOnPlatformLibs(it) + UtilsKt.dependsOnPlatformLibs(it) doBeforeBuild { mkdir(buildDir) @@ -4426,24 +4406,24 @@ standaloneTest("jsinterop_math") { } standaloneTest("interop_libiconv") { - dependsOnPlatformLibs(it) enabled = (project.testTarget == null) source = "interop/libiconv.kt" goldValue = "72 72\n101 101\n108 108\n108 108\n111 111\n33 33\n" + UtilsKt.dependsOnPlatformLibs(it) } standaloneTest("interop_zlib") { - dependsOnPlatformLibs(it) enabled = (project.testTarget == null) source = "interop/platform_zlib.kt" goldValue = "Hello!\nHello!\n" + UtilsKt.dependsOnPlatformLibs(it) } standaloneTest("interop_objc_illegal_sharing") { - dependsOnPlatformLibs(it) disabled = !isAppleTarget(project) || isExperimentalMM // Experimental MM doesn't support multiple mutators yet. source = "interop/objc/illegal_sharing.kt" + UtilsKt.dependsOnPlatformLibs(it) expectedExitStatusChecker = { it != 0 } outputChecker = { it.startsWith("Before") && !it.contains("After") @@ -4578,8 +4558,8 @@ tasks.register("library_mismatch", KonanDriverTest) { if (!useCustomDist) { // we actually need any target other than the current one. - dependsOn ':wasm32CrossDistRuntime' - dependsOn ':wasm32CrossDistEndorsedLibraries' + dependsOn ':kotlin-native:wasm32CrossDistRuntime' + dependsOn ':kotlin-native:wasm32CrossDistEndorsedLibraries' } doBeforeBuild { @@ -4659,6 +4639,7 @@ linkTest("private_fake_overrides_1") { Task frameworkTest(String name, Closure configurator) { return KotlinNativeTestKt.createTest(project, name, FrameworkTest) { task -> configurator.delegate = task + UtilsKt.dependsOnDist(task) configurator() if (task.enabled) { konanArtifacts { @@ -4678,10 +4659,6 @@ Task frameworkTest(String name, Closure configurator) { UtilsKt.dependsOnKonanBuildingTask(task, fr.library, target) } - if (!useCustomDist) { - dependsOn ":kotlin-native:${target.name}CrossDistRuntime", ':kotlin-native:distCompiler' - } - extraOpts fr.bitcode ? "-Xembed-bitcode" : "-Xembed-bitcode-marker" if (fr.isStatic) extraOpts "-Xstatic-framework" extraOpts fr.opts @@ -4689,6 +4666,7 @@ Task frameworkTest(String name, Closure configurator) { artifactName fr.artifact } + UtilsKt.dependsOnDist(project.tasks.findByName("compileKonan${fr.name.capitalize()}${UtilsKt.getTestTargetSuffix(project)}")) } } }