From dc4f12f29c5ea6ebf5326c29599ff44ba87c2631 Mon Sep 17 00:00:00 2001 From: Alexander Shabalin Date: Wed, 21 Feb 2024 23:41:15 +0100 Subject: [PATCH] Revert "[K/N][Tests] Migrate driver test llvm_variant_dev" This reverts commit d8a90f55a81d6933d401d6bb29c247907aaf84ab. --- .../backend.native/tests/build.gradle | 16 +++++ native/native.tests/build.gradle.kts | 1 - native/native.tests/testData/driver/hello.kt | 1 - .../kotlin/konan/test/KonanDriverTest.kt | 63 ------------------- 4 files changed, 16 insertions(+), 65 deletions(-) delete mode 100644 native/native.tests/testData/driver/hello.kt delete mode 100644 native/native.tests/tests/org/jetbrains/kotlin/konan/test/KonanDriverTest.kt diff --git a/kotlin-native/backend.native/tests/build.gradle b/kotlin-native/backend.native/tests/build.gradle index 5c4561217a6..c41ad470c47 100644 --- a/kotlin-native/backend.native/tests/build.gradle +++ b/kotlin-native/backend.native/tests/build.gradle @@ -1366,6 +1366,22 @@ tasks.register("override_konan_properties0", KonanDriverTest) { } } +tasks.register("llvm_variant_dev", KonanDriverTest) { + // We use clang from Xcode on macOS for apple targets, + // so it is hard to reliably detect LLVM variant for these targets. + disabled = PlatformInfo.isAppleTarget(project) + || isAggressiveGC // No need to test with different GC schedulers + flags = [ + "-Xllvm-variant=dev", + "-Xverbose-phases=ObjectFiles" + ] + compilerMessages = true + source = "link/ir_providers/hello.kt" + // User LLVM variant has "essentials" suffix. + def message = "-essentials" + outputChecker = { out -> !out.contains(message) } +} + /** * Builds tests into a single binary with TestRunner */ diff --git a/native/native.tests/build.gradle.kts b/native/native.tests/build.gradle.kts index 25babd81356..753b71da926 100644 --- a/native/native.tests/build.gradle.kts +++ b/native/native.tests/build.gradle.kts @@ -54,7 +54,6 @@ val debuggerTest = nativeTest("debuggerTest", "debugger") val cachesTest = nativeTest("cachesTest", "caches") val klibTest = nativeTest("klibTest", "klib") val standaloneTest = nativeTest("standaloneTest", "standalone") -val driverTest = nativeTest("driverTest", "driver") val testTags = findProperty("kotlin.native.tests.tags")?.toString() // Note: arbitrary JUnit tag expressions can be used in this property. diff --git a/native/native.tests/testData/driver/hello.kt b/native/native.tests/testData/driver/hello.kt deleted file mode 100644 index dbd2d6996f7..00000000000 --- a/native/native.tests/testData/driver/hello.kt +++ /dev/null @@ -1 +0,0 @@ -fun main() = println("hello") \ No newline at end of file diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/KonanDriverTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/KonanDriverTest.kt deleted file mode 100644 index 229782355c4..00000000000 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/KonanDriverTest.kt +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.konan.test - -import com.intellij.testFramework.TestDataPath -import org.jetbrains.kotlin.konan.target.HostManager -import org.jetbrains.kotlin.konan.test.blackbox.AbstractNativeSimpleTest -import org.jetbrains.kotlin.konan.test.blackbox.support.NativeSimpleTestSupport -import org.jetbrains.kotlin.konan.test.blackbox.support.settings.Binaries -import org.jetbrains.kotlin.konan.test.blackbox.support.settings.GCScheduler -import org.jetbrains.kotlin.konan.test.blackbox.support.settings.KotlinNativeHome -import org.jetbrains.kotlin.konan.test.blackbox.targets -import org.jetbrains.kotlin.native.executors.RunProcessResult -import org.jetbrains.kotlin.native.executors.runProcess -import org.junit.jupiter.api.Assumptions -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import java.io.File -import kotlin.test.assertFalse -import kotlin.time.Duration - -@Tag("driver") -@TestDataPath("\$PROJECT_ROOT") -@ExtendWith(NativeSimpleTestSupport::class) -class KonanDriverTest : AbstractNativeSimpleTest() { - private val konanHome get() = testRunSettings.get().dir - private val buildDir get() = testRunSettings.get().testBinariesDir - private val konanc get() = konanHome.resolve("bin").resolve(if (HostManager.hostIsMingw) "konanc.bat" else "konanc") - - private val testSuiteDir = File("native/native.tests/testData/driver") - - @Test - fun testLLVMVariantDev() { - // We use clang from Xcode on macOS for apple targets, - // so it is hard to reliably detect LLVM variant for these targets. -// Assumptions.assumeFalse(targets.hostTarget.family.isAppleFamily && targets.testTarget.family.isAppleFamily) - // No need to test with different GC schedulers - Assumptions.assumeFalse(testRunSettings.get() == GCScheduler.AGGRESSIVE) - - val source = testSuiteDir.resolve("hello.kt") - val flags = listOf("-Xllvm-variant=dev", "-Xverbose-phases=ObjectFiles") - val args = mutableListOf("-output", buildDir.resolve("kexe.kexe").absolutePath).apply { - add("-target") - add(targets.testTarget.visibleName) - addAll(flags) - - add("-Xpartial-linkage=enable") - add("-Xpartial-linkage-loglevel=error") - } - - val result: RunProcessResult = runProcess(konanc.absolutePath, source.absolutePath, *args.toTypedArray()) { - timeout = Duration.parse("5m") - } - assertFalse( - result.stdout.contains("-essentials"), - "`-essentials` must not be in stdout of dev LLVM.\nSTDOUT: ${result.stdout}\nSTDERR: ${result.stderr}\n---" - ) - } -}