8ddf419be5
There is an a optimization in our `projectTest` config which filters out some compiled test classes if they didn't contain specified test (if user ran :test task with --tests flag). This optimization for one tests left only one .class file which contains test. But JUnit 5 for tests in inner classes (with @Nested annotation) requires not only target class, but and all it's containers Test: package.SomeTest$Nested.testMethod JUnit4: package/SomeTest$Nested.class JUnit5: - package/SomeTest.class - package/SomeTest$Nested.class
69 lines
2.0 KiB
Kotlin
69 lines
2.0 KiB
Kotlin
import org.jetbrains.kotlin.ideaExt.idea
|
|
|
|
plugins {
|
|
kotlin("jvm")
|
|
id("jps-compatible")
|
|
}
|
|
|
|
dependencies {
|
|
testApi(project(":compiler:fir:entrypoint"))
|
|
testApi(project(":compiler:cli"))
|
|
testImplementation(project(":compiler:ir.tree.impl"))
|
|
testImplementation(intellijCoreDep()) { includeJars("intellij-core") }
|
|
|
|
testCompileOnly(project(":kotlin-reflect-api"))
|
|
testRuntimeOnly(project(":kotlin-reflect"))
|
|
testRuntimeOnly(project(":core:descriptors.runtime"))
|
|
|
|
testImplementation(projectTests(":generators:test-generator"))
|
|
|
|
testImplementation(platform("org.junit:junit-bom:5.7.0"))
|
|
testImplementation("org.junit.jupiter:junit-jupiter")
|
|
testImplementation("org.junit.platform:junit-platform-commons:1.7.0")
|
|
testApi(projectTests(":compiler:test-infrastructure"))
|
|
testImplementation(projectTests(":compiler:test-infrastructure-utils"))
|
|
|
|
testImplementation(intellijDep()) {
|
|
// This dependency is needed only for FileComparisonFailure
|
|
includeJars("idea_rt", rootProject = rootProject)
|
|
isTransitive = false
|
|
}
|
|
|
|
// This is needed only for using FileComparisonFailure, which relies on JUnit 3 classes
|
|
testRuntimeOnly(commonDep("junit:junit"))
|
|
testRuntimeOnly(intellijDep()) {
|
|
includeJars("jna", rootProject = rootProject)
|
|
}
|
|
testRuntimeOnly(toolsJar())
|
|
}
|
|
|
|
val generationRoot = projectDir.resolve("tests-gen")
|
|
|
|
sourceSets {
|
|
"main" { none() }
|
|
"test" {
|
|
projectDefault()
|
|
this.java.srcDir(generationRoot.name)
|
|
}
|
|
}
|
|
|
|
if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
|
|
apply(plugin = "idea")
|
|
idea {
|
|
this.module.generatedSourceDirs.add(generationRoot)
|
|
}
|
|
}
|
|
|
|
projectTest(parallel = true, jUnit5Enabled = true) {
|
|
dependsOn(":dist")
|
|
workingDir = rootDir
|
|
jvmArgs!!.removeIf { it.contains("-Xmx") }
|
|
maxHeapSize = "3g"
|
|
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
testsJar()
|
|
|
|
val generateTests by generator("org.jetbrains.kotlin.test.generators.GenerateNewCompilerTestsKt")
|