[Analysis] add test generator for Kotlin/Native tests inside Analysis API
This test generator is enabled only if Kotlin/Native support is enabled in the project ^KT-62910
This commit is contained in:
committed by
Space Team
parent
a18c49d795
commit
68235b978b
@@ -30,6 +30,10 @@ dependencies {
|
|||||||
testRuntimeOnly(libs.junit.jupiter.engine)
|
testRuntimeOnly(libs.junit.jupiter.engine)
|
||||||
}
|
}
|
||||||
|
|
||||||
val generateFrontendApiTests by generator("org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt")
|
val generateFrontendApiTests by generator("org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt") {
|
||||||
|
if (kotlinBuildProperties.isKotlinNativeEnabled) {
|
||||||
|
dependsOn(":generators:analysis-api-generator:generator-kotlin-native:generateAnalysisApiNativeTests")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
testsJar()
|
testsJar()
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
plugins {
|
||||||
|
kotlin("jvm")
|
||||||
|
id("jps-compatible")
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
"main" { none() }
|
||||||
|
"test" { projectDefault() }
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
api(kotlinStdlib("jdk8"))
|
||||||
|
|
||||||
|
testImplementation(projectTests(":generators:test-generator"))
|
||||||
|
testImplementation(projectTests(":compiler:tests-common"))
|
||||||
|
testImplementation(projectTests(":compiler:tests-spec"))
|
||||||
|
testImplementation(projectTests(":generators:analysis-api-generator"))
|
||||||
|
|
||||||
|
testImplementation(intellijCore())
|
||||||
|
testApi(platform(libs.junit.bom))
|
||||||
|
testImplementation(libs.junit.jupiter.api)
|
||||||
|
testRuntimeOnly(libs.junit.jupiter.engine)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
val generateAnalysisApiNativeTests by generator("org.jetbrains.kotlin.generators.tests.analysis.api.konan.GenerateAnalysisApiNativeTestsKt")
|
||||||
|
|
||||||
|
testsJar()
|
||||||
|
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2023 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.analysis.api.konan
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.generators.tests.analysis.api.dsl.AnalysisApiTestGroup
|
||||||
|
import org.jetbrains.kotlin.generators.tests.analysis.api.dsl.generate
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
System.setProperty("java.awt.headless", "true")
|
||||||
|
generate(args) {
|
||||||
|
generateTests()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun AnalysisApiTestGroup.generateTests() {
|
||||||
|
}
|
||||||
+2
-2
@@ -8,13 +8,13 @@ package org.jetbrains.kotlin.generators.tests.analysis.api.dsl
|
|||||||
import org.jetbrains.kotlin.generators.TestGroupSuite
|
import org.jetbrains.kotlin.generators.TestGroupSuite
|
||||||
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
||||||
|
|
||||||
internal class AnalysisApiTestGenerator(val suite: TestGroupSuite) {
|
class AnalysisApiTestGenerator(val suite: TestGroupSuite) {
|
||||||
fun group(init: AnalysisApiTestGroup.() -> Unit) {
|
fun group(init: AnalysisApiTestGroup.() -> Unit) {
|
||||||
AnalysisApiTestGroup(this, { true }, null).init()
|
AnalysisApiTestGroup(this, { true }, null).init()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun generate(args: Array<String>, init: AnalysisApiTestGroup.() -> Unit) {
|
fun generate(args: Array<String>, init: AnalysisApiTestGroup.() -> Unit) {
|
||||||
generateTestGroupSuiteWithJUnit5(args, additionalMethodGenerators = listOf(FrontendConfiguratorTestGenerator)) {
|
generateTestGroupSuiteWithJUnit5(args, additionalMethodGenerators = listOf(FrontendConfiguratorTestGenerator)) {
|
||||||
AnalysisApiTestGenerator(this).group(init)
|
AnalysisApiTestGenerator(this).group(init)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.generators.getDefaultSuiteTestClassName
|
|||||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
internal class AnalysisApiTestGroup(
|
class AnalysisApiTestGroup(
|
||||||
private val generator: AnalysisApiTestGenerator,
|
private val generator: AnalysisApiTestGenerator,
|
||||||
private val groupFilter: TestFilter,
|
private val groupFilter: TestFilter,
|
||||||
private val directory: String?,
|
private val directory: String?,
|
||||||
|
|||||||
@@ -577,6 +577,10 @@ include ":generators:analysis-api-generator",
|
|||||||
":prepare:analysis-api-test-framework",
|
":prepare:analysis-api-test-framework",
|
||||||
":tools:ide-plugin-dependencies-validator"
|
":tools:ide-plugin-dependencies-validator"
|
||||||
|
|
||||||
|
if (buildProperties.isKotlinNativeEnabled) {
|
||||||
|
include ":generators:analysis-api-generator:generator-kotlin-native"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (buildProperties.inJpsBuildIdeaSync) {
|
if (buildProperties.inJpsBuildIdeaSync) {
|
||||||
include ":kotlin-stdlib:jps-build"
|
include ":kotlin-stdlib:jps-build"
|
||||||
|
|||||||
Reference in New Issue
Block a user