From 7fa71183256ec17aea055d2c47bc18f858f34d00 Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Wed, 22 Feb 2023 17:19:44 +0100 Subject: [PATCH] [K/N][test] LLDB tests should run only on host target * Use EnforceHostTarget for the LldbTestGenerated * Exclude test in provider if run with non-host target Merge-request: KT-MR-8964 --- .../kotlin/konan/blackboxtest/LldbTestGenerated.java | 2 ++ .../kotlin/generators/tests/GenerateNativeTests.kt | 10 +++++++++- .../support/group/StandardTestCaseGroupProvider.kt | 4 +++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/LldbTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/LldbTestGenerated.java index ee755700088..d5f5eb9467f 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/LldbTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/LldbTestGenerated.java @@ -11,6 +11,7 @@ import org.junit.jupiter.api.Tag; import org.jetbrains.kotlin.konan.blackboxtest.support.group.UseStandardTestCaseGroupProvider; import org.jetbrains.kotlin.konan.blackboxtest.support.EnforcedProperty; import org.jetbrains.kotlin.konan.blackboxtest.support.ClassLevelProperty; +import org.jetbrains.kotlin.konan.blackboxtest.support.EnforcedHostTarget; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -25,6 +26,7 @@ import java.util.regex.Pattern; @Tag("debugger") @UseStandardTestCaseGroupProvider() @EnforcedProperty(property = ClassLevelProperty.OPTIMIZATION_MODE, propertyValue = "DEBUG") +@EnforcedHostTarget() public class LldbTestGenerated extends AbstractNativeBlackBoxTest { @Test public void testAllFilesPresentInLldb() throws Exception { diff --git a/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt b/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt index a7122af262a..19f2c4f26a4 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeTests.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5 import org.jetbrains.kotlin.generators.model.annotation import org.jetbrains.kotlin.konan.blackboxtest.* import org.jetbrains.kotlin.konan.blackboxtest.support.ClassLevelProperty +import org.jetbrains.kotlin.konan.blackboxtest.support.EnforcedHostTarget import org.jetbrains.kotlin.konan.blackboxtest.support.EnforcedProperty import org.jetbrains.kotlin.konan.blackboxtest.support.group.K2Pipeline import org.jetbrains.kotlin.konan.blackboxtest.support.group.UseExtTestCaseGroupProvider @@ -122,7 +123,12 @@ fun main() { testGroup("native/native.tests/tests-gen", "native/native.tests/testData") { testClass( suiteTestClassName = "LldbTestGenerated", - annotations = listOf(debugger(), provider(), debugOnly()) + annotations = listOf( + debugger(), + provider(), + debugOnly(), + hostOnly() + ) ) { model("lldb") } @@ -138,6 +144,8 @@ private fun debugOnly() = annotation( "propertyValue" to "DEBUG" ) +private fun hostOnly() = provider() + private fun codegen() = annotation(Tag::class.java, "codegen") private fun codegenK2() = annotation(Tag::class.java, "codegenK2") private fun debugger() = annotation(Tag::class.java, "debugger") diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/group/StandardTestCaseGroupProvider.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/group/StandardTestCaseGroupProvider.kt index aa85f94b185..889e57ad3eb 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/group/StandardTestCaseGroupProvider.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/blackboxtest/support/group/StandardTestCaseGroupProvider.kt @@ -50,7 +50,9 @@ internal class StandardTestCaseGroupProvider : TestCaseGroupProvider { val lldbTestCases = testCases.filter { it.kind == TestKind.STANDALONE_LLDB } if (lldbTestCases.isNotEmpty() - && (settings.get() != OptimizationMode.DEBUG || !settings.get().isAvailable) + && (settings.get() != OptimizationMode.DEBUG + || !settings.get().isAvailable + || settings.get().areDifferentTargets()) ) { lldbTestCases.mapTo(disabledTestCaseIds) { it.id } }