[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)
|
||||
}
|
||||
|
||||
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()
|
||||
|
||||
@@ -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.generateTestGroupSuiteWithJUnit5
|
||||
|
||||
internal class AnalysisApiTestGenerator(val suite: TestGroupSuite) {
|
||||
class AnalysisApiTestGenerator(val suite: TestGroupSuite) {
|
||||
fun group(init: AnalysisApiTestGroup.() -> Unit) {
|
||||
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)) {
|
||||
AnalysisApiTestGenerator(this).group(init)
|
||||
}
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.generators.getDefaultSuiteTestClassName
|
||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
internal class AnalysisApiTestGroup(
|
||||
class AnalysisApiTestGroup(
|
||||
private val generator: AnalysisApiTestGenerator,
|
||||
private val groupFilter: TestFilter,
|
||||
private val directory: String?,
|
||||
|
||||
@@ -577,6 +577,10 @@ include ":generators:analysis-api-generator",
|
||||
":prepare:analysis-api-test-framework",
|
||||
":tools:ide-plugin-dependencies-validator"
|
||||
|
||||
if (buildProperties.isKotlinNativeEnabled) {
|
||||
include ":generators:analysis-api-generator:generator-kotlin-native"
|
||||
}
|
||||
|
||||
|
||||
if (buildProperties.inJpsBuildIdeaSync) {
|
||||
include ":kotlin-stdlib:jps-build"
|
||||
|
||||
Reference in New Issue
Block a user