[BTA tests] Specify TestDataPath/TestMetadata test data navigation
^KT-61860 In Progress
This commit is contained in:
committed by
Space Team
parent
b970b87667
commit
cf8e65b3c5
@@ -10,6 +10,7 @@ dependencies {
|
||||
api(kotlinStdlib())
|
||||
compileOnly(project(":kotlin-tooling-core")) // to reuse `KotlinToolingVersion`
|
||||
compileOnly(project(":compiler:build-tools:kotlin-build-tools-api"))
|
||||
api(projectTests(":compiler:test-infrastructure-utils")) // for `@TestDataPath`/`@TestMetadata`
|
||||
|
||||
api(platform(libs.junit.bom))
|
||||
compileOnly(libs.junit.jupiter.engine)
|
||||
@@ -73,9 +74,13 @@ testing {
|
||||
register<JvmTestSuite>(suit)
|
||||
}
|
||||
|
||||
var configuredIdeaSourceSets = false
|
||||
for (implVersion in compatibilityTestsVersions) {
|
||||
register<JvmTestSuite>("testCompatibility${implVersion}") {
|
||||
sources.configureCompatibilitySourceDirectories()
|
||||
if (!kotlinBuildProperties.isInIdeaSync || !configuredIdeaSourceSets) {
|
||||
sources.configureCompatibilitySourceDirectories()
|
||||
configuredIdeaSourceSets = true
|
||||
}
|
||||
dependencies {
|
||||
if (implVersion.isCurrent) {
|
||||
runtimeOnly(project(":compiler:build-tools:kotlin-build-tools-impl"))
|
||||
|
||||
+2
@@ -5,9 +5,11 @@
|
||||
|
||||
package org.jetbrains.kotlin.buildtools.api.tests.compilation.model
|
||||
|
||||
import com.intellij.testFramework.TestDataPath
|
||||
import org.junit.jupiter.api.io.TempDir
|
||||
import java.nio.file.Path
|
||||
|
||||
@TestDataPath("\$CONTENT_ROOT/../main/resources/modules")
|
||||
abstract class BaseCompilationTest {
|
||||
@TempDir
|
||||
lateinit var workingDirectory: Path
|
||||
|
||||
+3
-1
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.buildtools.api.tests.compilation.assertions.assertOu
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.BaseCompilationTest
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.DefaultStrategyAgnosticCompilationTest
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.project
|
||||
import org.jetbrains.kotlin.test.TestMetadata
|
||||
import org.junit.jupiter.api.Disabled
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
|
||||
@@ -17,7 +18,8 @@ import org.junit.jupiter.api.DisplayName
|
||||
class ExampleCompatibilityCompilationTest : BaseCompilationTest() {
|
||||
@DefaultStrategyAgnosticCompilationTest
|
||||
@DisplayName("Sample compatibility compilation test that is run as part of each test suit")
|
||||
fun myTest(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
@TestMetadata("jvm-module-1")
|
||||
fun testCompatibilityCompilation(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
project {
|
||||
val module1 = module("jvm-module-1")
|
||||
val module2 = module("jvm-module-2", listOf(module1))
|
||||
|
||||
+5
-2
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.BaseCompilati
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.DefaultStrategyAgnosticCompilationTest
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.LogLevel
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.project
|
||||
import org.jetbrains.kotlin.test.TestMetadata
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import kotlin.io.path.readText
|
||||
import kotlin.io.path.writeText
|
||||
@@ -20,7 +21,8 @@ import kotlin.io.path.writeText
|
||||
class ExampleIncrementalCompilationTest : BaseCompilationTest() {
|
||||
@DisplayName("Sample IC test with a single module")
|
||||
@DefaultStrategyAgnosticCompilationTest
|
||||
fun singleModuleTest(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
@TestMetadata("jvm-module-1")
|
||||
fun testSingleModule(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
project {
|
||||
val module1 = module("jvm-module-1")
|
||||
|
||||
@@ -41,7 +43,8 @@ class ExampleIncrementalCompilationTest : BaseCompilationTest() {
|
||||
|
||||
@DisplayName("Sample IC test with 2 modules and custom compilation options")
|
||||
@DefaultStrategyAgnosticCompilationTest
|
||||
fun twoModulesTest(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
@TestMetadata("jvm-module-1")
|
||||
fun testTwoModules(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
project {
|
||||
val module1 = module("jvm-module-1")
|
||||
val module2 = module("jvm-module-2", listOf(module1))
|
||||
|
||||
+7
-3
@@ -10,12 +10,14 @@ import org.jetbrains.kotlin.buildtools.api.tests.compilation.assertions.assertCo
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.scenario.scenario
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.BaseCompilationTest
|
||||
import org.jetbrains.kotlin.buildtools.api.tests.compilation.model.DefaultStrategyAgnosticCompilationTest
|
||||
import org.jetbrains.kotlin.test.TestMetadata
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
|
||||
class ExampleIncrementalScenarioTest : BaseCompilationTest() {
|
||||
@DefaultStrategyAgnosticCompilationTest
|
||||
@DisplayName("Sample scenario DSL IC test with a single module")
|
||||
fun scenario1Test(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
@TestMetadata("jvm-module-1")
|
||||
fun testScenario1(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
scenario(strategyConfig) {
|
||||
val module1 = module("jvm-module-1")
|
||||
|
||||
@@ -45,7 +47,8 @@ class ExampleIncrementalScenarioTest : BaseCompilationTest() {
|
||||
|
||||
@DisplayName("Another sample scenario DSL IC test with a single module and custom IC options")
|
||||
@DefaultStrategyAgnosticCompilationTest
|
||||
fun scenario2Test(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
@TestMetadata("jvm-module-1")
|
||||
fun testScenario2(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
scenario(strategyConfig) {
|
||||
val module1 = module("jvm-module-1", incrementalCompilationOptionsModifier = { it.keepIncrementalCompilationCachesInMemory(false) })
|
||||
|
||||
@@ -75,7 +78,8 @@ class ExampleIncrementalScenarioTest : BaseCompilationTest() {
|
||||
|
||||
@DisplayName("Sample scenario DSL IC test with two modules")
|
||||
@DefaultStrategyAgnosticCompilationTest
|
||||
fun scenario3Test(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
@TestMetadata("jvm-module-1")
|
||||
fun testScenario3(strategyConfig: CompilerExecutionStrategyConfiguration) {
|
||||
scenario(strategyConfig) {
|
||||
val module1 = module("jvm-module-1")
|
||||
val module2 = module("jvm-module-2", listOf(module1))
|
||||
|
||||
Reference in New Issue
Block a user