diff --git a/native/dignostic-tests/build.gradle.kts b/native/dignostic-tests/build.gradle.kts new file mode 100644 index 00000000000..07fe1deb0e2 --- /dev/null +++ b/native/dignostic-tests/build.gradle.kts @@ -0,0 +1,34 @@ +plugins { + kotlin("jvm") +} + +dependencies { + testImplementation(projectTests(":compiler:tests-common-new")) + testImplementation(projectTests(":generators:test-generator")) + testImplementation(project(":native:kotlin-native-utils")) + testApiJUnit5() +} + +val generationRoot = projectDir.resolve("tests-gen") + +sourceSets { + "main" { none() } + "test" { + projectDefault() + java.srcDirs(generationRoot.name) + } +} + +val testTags = findProperty("kotlin.native.tests.tags")?.toString() +// Note: arbitrary JUnit tag expressions can be used in this property. +// See https://junit.org/junit5/docs/current/user-guide/#running-tests-tag-expressions +val test by nativeTest("test", testTags).apply { + configure { + dependsOn(":dist") + } +} + +val generateTests by generator("org.jetbrains.kotlin.generators.tests.GenerateNativeDiagnosticTestsKt") { + javaLauncher.set(project.getToolchainLauncherFor(JdkMajorVersion.JDK_11_0)) + dependsOn(":compiler:generateTestData") +} diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/DiagnosticsNativeTestGenerated.java b/native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/DiagnosticsNativeTestGenerated.java similarity index 94% rename from native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/DiagnosticsNativeTestGenerated.java rename to native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/DiagnosticsNativeTestGenerated.java index 69e000156c4..9e2ecf44d6a 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/DiagnosticsNativeTestGenerated.java +++ b/native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/DiagnosticsNativeTestGenerated.java @@ -7,8 +7,6 @@ package org.jetbrains.kotlin.konan.diagnostics; import com.intellij.testFramework.TestDataPath; import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.junit.jupiter.api.Tag; -import org.jetbrains.kotlin.konan.blackboxtest.support.group.FirPipeline; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -16,12 +14,10 @@ import org.junit.jupiter.api.Test; import java.io.File; import java.util.regex.Pattern; -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeTestsKt}. DO NOT MODIFY MANUALLY */ +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeDiagnosticTestsKt}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @TestMetadata("compiler/testData/diagnostics/nativeTests") @TestDataPath("$PROJECT_ROOT") -@Tag("frontend-fir") -@FirPipeline() public class DiagnosticsNativeTestGenerated extends AbstractDiagnosticsNativeTest { @Test public void testAllFilesPresentInNativeTests() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirLightTreeOldFrontendNativeDiagnosticsTestGenerated.java b/native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirLightTreeOldFrontendNativeDiagnosticsTestGenerated.java similarity index 94% rename from native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirLightTreeOldFrontendNativeDiagnosticsTestGenerated.java rename to native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirLightTreeOldFrontendNativeDiagnosticsTestGenerated.java index fc38ac9b5d3..e47739636e5 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirLightTreeOldFrontendNativeDiagnosticsTestGenerated.java +++ b/native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirLightTreeOldFrontendNativeDiagnosticsTestGenerated.java @@ -7,8 +7,6 @@ package org.jetbrains.kotlin.konan.diagnostics; import com.intellij.testFramework.TestDataPath; import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.junit.jupiter.api.Tag; -import org.jetbrains.kotlin.konan.blackboxtest.support.group.FirPipeline; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -16,12 +14,10 @@ import org.junit.jupiter.api.Test; import java.io.File; import java.util.regex.Pattern; -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeTestsKt}. DO NOT MODIFY MANUALLY */ +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeDiagnosticTestsKt}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @TestMetadata("compiler/testData/diagnostics/nativeTests") @TestDataPath("$PROJECT_ROOT") -@Tag("frontend-fir") -@FirPipeline() public class FirLightTreeOldFrontendNativeDiagnosticsTestGenerated extends AbstractFirLightTreeNativeDiagnosticsTest { @Test public void testAllFilesPresentInNativeTests() throws Exception { diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirPsiOldFrontendNativeDiagnosticsTestGenerated.java b/native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirPsiOldFrontendNativeDiagnosticsTestGenerated.java similarity index 94% rename from native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirPsiOldFrontendNativeDiagnosticsTestGenerated.java rename to native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirPsiOldFrontendNativeDiagnosticsTestGenerated.java index d0286ddbeed..daf5dc9939c 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirPsiOldFrontendNativeDiagnosticsTestGenerated.java +++ b/native/dignostic-tests/tests-gen/org/jetbrains/kotlin/konan/diagnostics/FirPsiOldFrontendNativeDiagnosticsTestGenerated.java @@ -7,8 +7,6 @@ package org.jetbrains.kotlin.konan.diagnostics; import com.intellij.testFramework.TestDataPath; import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.junit.jupiter.api.Tag; -import org.jetbrains.kotlin.konan.blackboxtest.support.group.FirPipeline; import org.jetbrains.kotlin.test.TestMetadata; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -16,12 +14,10 @@ import org.junit.jupiter.api.Test; import java.io.File; import java.util.regex.Pattern; -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeTestsKt}. DO NOT MODIFY MANUALLY */ +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateNativeDiagnosticTestsKt}. DO NOT MODIFY MANUALLY */ @SuppressWarnings("all") @TestMetadata("compiler/testData/diagnostics/nativeTests") @TestDataPath("$PROJECT_ROOT") -@Tag("frontend-fir") -@FirPipeline() public class FirPsiOldFrontendNativeDiagnosticsTestGenerated extends AbstractFirPsiNativeDiagnosticsTest { @Test public void testAllFilesPresentInNativeTests() throws Exception { diff --git a/native/dignostic-tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeDiagnosticTests.kt b/native/dignostic-tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeDiagnosticTests.kt new file mode 100644 index 00000000000..067602414c0 --- /dev/null +++ b/native/dignostic-tests/tests/org/jetbrains/kotlin/generators/tests/GenerateNativeDiagnosticTests.kt @@ -0,0 +1,38 @@ +/* + * Copyright 2010-2022 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.generators.tests + +import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5 +import org.jetbrains.kotlin.konan.diagnostics.AbstractDiagnosticsNativeTest +import org.jetbrains.kotlin.konan.diagnostics.AbstractFirLightTreeNativeDiagnosticsTest +import org.jetbrains.kotlin.konan.diagnostics.AbstractFirPsiNativeDiagnosticsTest +import org.jetbrains.kotlin.test.utils.CUSTOM_TEST_DATA_EXTENSION_PATTERN + +fun main() { + System.setProperty("java.awt.headless", "true") + val excludedCustomTestdataPattern = CUSTOM_TEST_DATA_EXTENSION_PATTERN + + generateTestGroupSuiteWithJUnit5 { + // New frontend test infrastructure tests + testGroup(testsRoot = "native/dignostic-tests/tests-gen", testDataRoot = "compiler/testData") { + testClass { + model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern) + } + + testClass( + suiteTestClassName = "FirPsiOldFrontendNativeDiagnosticsTestGenerated", + ) { + model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern) + } + + testClass( + suiteTestClassName = "FirLightTreeOldFrontendNativeDiagnosticsTestGenerated", + ) { + model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern) + } + } + } +} diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt b/native/dignostic-tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt similarity index 100% rename from native/native.tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt rename to native/dignostic-tests/tests/org/jetbrains/kotlin/konan/diagnostics/AbstractDiagnosticsNativeTest.kt 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 f2f10662857..fc8faafd741 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 @@ -17,16 +17,11 @@ import org.jetbrains.kotlin.konan.blackboxtest.support.group.* import org.jetbrains.kotlin.konan.blackboxtest.support.group.DisabledTestsIfProperty import org.jetbrains.kotlin.konan.blackboxtest.support.group.FirPipeline import org.jetbrains.kotlin.konan.blackboxtest.support.group.UsePartialLinkage -import org.jetbrains.kotlin.konan.diagnostics.AbstractDiagnosticsNativeTest -import org.jetbrains.kotlin.konan.diagnostics.AbstractFirLightTreeNativeDiagnosticsTest -import org.jetbrains.kotlin.konan.diagnostics.AbstractFirPsiNativeDiagnosticsTest import org.jetbrains.kotlin.test.TargetBackend -import org.jetbrains.kotlin.test.utils.CUSTOM_TEST_DATA_EXTENSION_PATTERN import org.junit.jupiter.api.Tag fun main() { System.setProperty("java.awt.headless", "true") - val excludedCustomTestdataPattern = CUSTOM_TEST_DATA_EXTENSION_PATTERN generateTestGroupSuiteWithJUnit5 { // Codegen box tests. @@ -221,29 +216,6 @@ fun main() { model("lldb") } } - - // New frontend test infrastructure tests - testGroup(testsRoot = "native/native.tests/tests-gen", testDataRoot = "compiler/testData") { - testClass( - annotations = listOf(*frontendFir()), - ) { - model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern) - } - - testClass( - suiteTestClassName = "FirPsiOldFrontendNativeDiagnosticsTestGenerated", - annotations = listOf(*frontendFir()), - ) { - model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern) - } - - testClass( - suiteTestClassName = "FirLightTreeOldFrontendNativeDiagnosticsTestGenerated", - annotations = listOf(*frontendFir()), - ) { - model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern) - } - } } } diff --git a/settings.gradle b/settings.gradle index f49e6e27a32..24ec8e1b24d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -99,6 +99,7 @@ include ":benchmarks", ":js:js.dce", ":js:js.tests", ":native:kotlin-native-utils", + ":native:dignostic-tests", ":native:frontend.native", ":native:kotlin-klib-commonizer", ":native:kotlin-klib-commonizer-api",