[KAPT] Add additional test tasks for running tests on JDK 11
This commit is contained in:
committed by
teamcity
parent
9c41e75802
commit
8b960de76a
@@ -696,6 +696,7 @@ tasks {
|
|||||||
|
|
||||||
register("kaptTests") {
|
register("kaptTests") {
|
||||||
dependsOn(":kotlin-annotation-processing:test")
|
dependsOn(":kotlin-annotation-processing:test")
|
||||||
|
dependsOn(":kotlin-annotation-processing:testJdk11")
|
||||||
dependsOn(":kotlin-annotation-processing-base:test")
|
dependsOn(":kotlin-annotation-processing-base:test")
|
||||||
dependsOn(":kotlin-annotation-processing-cli:test")
|
dependsOn(":kotlin-annotation-processing-cli:test")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import org.jetbrains.kotlin.fir.plugin.runners.AbstractFirPluginDiagnosticTest
|
|||||||
import org.jetbrains.kotlin.generators.TestGroup
|
import org.jetbrains.kotlin.generators.TestGroup
|
||||||
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
||||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||||
|
import org.jetbrains.kotlin.generators.model.AnnotationModel
|
||||||
|
import org.jetbrains.kotlin.generators.model.annotation
|
||||||
import org.jetbrains.kotlin.incremental.*
|
import org.jetbrains.kotlin.incremental.*
|
||||||
import org.jetbrains.kotlin.jvm.abi.*
|
import org.jetbrains.kotlin.jvm.abi.*
|
||||||
import org.jetbrains.kotlin.kapt.cli.test.AbstractArgumentParsingTest
|
import org.jetbrains.kotlin.kapt.cli.test.AbstractArgumentParsingTest
|
||||||
@@ -39,6 +41,7 @@ import org.jetbrains.kotlinx.atomicfu.AbstractAtomicfuJvmIrTest
|
|||||||
import org.jetbrains.kotlinx.serialization.AbstractSerializationIrBytecodeListingTest
|
import org.jetbrains.kotlinx.serialization.AbstractSerializationIrBytecodeListingTest
|
||||||
import org.jetbrains.kotlinx.serialization.AbstractSerializationPluginBytecodeListingTest
|
import org.jetbrains.kotlinx.serialization.AbstractSerializationPluginBytecodeListingTest
|
||||||
import org.jetbrains.kotlinx.serialization.AbstractSerializationPluginDiagnosticTest
|
import org.jetbrains.kotlinx.serialization.AbstractSerializationPluginDiagnosticTest
|
||||||
|
import org.junit.jupiter.api.Tag
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
System.setProperty("java.awt.headless", "true")
|
System.setProperty("java.awt.headless", "true")
|
||||||
@@ -448,11 +451,12 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
testGroup("plugins/kapt3/kapt3-compiler/tests-gen", "plugins/kapt3/kapt3-compiler/testData") {
|
testGroup("plugins/kapt3/kapt3-compiler/tests-gen", "plugins/kapt3/kapt3-compiler/testData") {
|
||||||
testClass<AbstractKotlinKaptContextTest> {
|
val annotations = listOf(annotation(Tag::class.java, "IgnoreJDK11"))
|
||||||
|
testClass<AbstractKotlinKaptContextTest>(annotations = annotations) {
|
||||||
model("kotlinRunner")
|
model("kotlinRunner")
|
||||||
}
|
}
|
||||||
|
|
||||||
testClass<AbstractIrKotlinKaptContextTest> {
|
testClass<AbstractIrKotlinKaptContextTest>(annotations = annotations) {
|
||||||
model("kotlinRunner")
|
model("kotlinRunner")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,15 +54,24 @@ sourceSets {
|
|||||||
|
|
||||||
testsJar {}
|
testsJar {}
|
||||||
|
|
||||||
projectTest(parallel = true) {
|
kaptTestTask("test", JavaLanguageVersion.of(8))
|
||||||
useJUnitPlatform()
|
kaptTestTask("testJdk11", JavaLanguageVersion.of(11))
|
||||||
workingDir = rootDir
|
|
||||||
dependsOn(":dist")
|
fun Project.kaptTestTask(name: String, javaLanguageVersion: JavaLanguageVersion) {
|
||||||
|
val service = extensions.getByType<JavaToolchainService>()
|
||||||
|
|
||||||
|
projectTest(taskName = name, parallel = true) {
|
||||||
|
useJUnitPlatform {
|
||||||
|
excludeTags = setOf("IgnoreJDK11")
|
||||||
|
}
|
||||||
|
workingDir = rootDir
|
||||||
|
dependsOn(":dist")
|
||||||
|
javaLauncher.set(service.launcherFor { languageVersion.set(javaLanguageVersion) })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
publish()
|
publish()
|
||||||
|
|
||||||
runtimeJar()
|
runtimeJar()
|
||||||
|
|
||||||
sourcesJar()
|
sourcesJar()
|
||||||
javadocJar()
|
javadocJar()
|
||||||
|
|||||||
+8
-5
@@ -12,17 +12,20 @@ import com.sun.tools.javac.util.Log
|
|||||||
import org.jetbrains.kotlin.kapt3.base.javac.KaptJavaLogBase
|
import org.jetbrains.kotlin.kapt3.base.javac.KaptJavaLogBase
|
||||||
import org.jetbrains.kotlin.kapt3.prettyPrint
|
import org.jetbrains.kotlin.kapt3.prettyPrint
|
||||||
import org.jetbrains.kotlin.kapt3.test.KaptContextBinaryArtifact
|
import org.jetbrains.kotlin.kapt3.test.KaptContextBinaryArtifact
|
||||||
import org.jetbrains.kotlin.kapt3.test.old.AbstractClassFileToSourceStubConverterTest
|
|
||||||
import org.jetbrains.kotlin.kapt3.test.old.AbstractKotlinKapt3Test
|
|
||||||
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.EXPECTED_ERROR
|
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.EXPECTED_ERROR
|
||||||
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.NON_EXISTENT_CLASS
|
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.NON_EXISTENT_CLASS
|
||||||
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.NO_VALIDATION
|
import org.jetbrains.kotlin.kapt3.test.KaptTestDirectives.NO_VALIDATION
|
||||||
|
import org.jetbrains.kotlin.kapt3.test.messageCollectorProvider
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
import org.jetbrains.kotlin.test.util.trimTrailingWhitespacesAndAddNewlineAtEOF
|
import org.jetbrains.kotlin.test.util.trimTrailingWhitespacesAndAddNewlineAtEOF
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHandler(testServices) {
|
class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHandler(testServices) {
|
||||||
|
companion object {
|
||||||
|
const val FILE_SEPARATOR = "\n\n////////////////////\n\n"
|
||||||
|
}
|
||||||
|
|
||||||
override fun processModule(module: TestModule, info: KaptContextBinaryArtifact) {
|
override fun processModule(module: TestModule, info: KaptContextBinaryArtifact) {
|
||||||
val generateNonExistentClass = NON_EXISTENT_CLASS in module.directives
|
val generateNonExistentClass = NON_EXISTENT_CLASS in module.directives
|
||||||
val validate = NO_VALIDATION !in module.directives
|
val validate = NO_VALIDATION !in module.directives
|
||||||
@@ -37,11 +40,11 @@ class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHan
|
|||||||
|
|
||||||
val actualRaw = convertedFiles
|
val actualRaw = convertedFiles
|
||||||
.sortedBy { it.sourceFile.name }
|
.sortedBy { it.sourceFile.name }
|
||||||
.joinToString(AbstractKotlinKapt3Test.FILE_SEPARATOR) { it.prettyPrint(kaptContext.context) }
|
.joinToString(FILE_SEPARATOR) { it.prettyPrint(kaptContext.context) }
|
||||||
|
|
||||||
val actual = StringUtil.convertLineSeparators(actualRaw.trim { it <= ' ' })
|
val actual = StringUtil.convertLineSeparators(actualRaw.trim { it <= ' ' })
|
||||||
.trimTrailingWhitespacesAndAddNewlineAtEOF()
|
.trimTrailingWhitespacesAndAddNewlineAtEOF()
|
||||||
.let { AbstractClassFileToSourceStubConverterTest.removeMetadataAnnotationContents(it) }
|
.let { removeMetadataAnnotationContents(it) }
|
||||||
|
|
||||||
if (kaptContext.compiler.shouldStop(CompileStates.CompileState.ENTER)) {
|
if (kaptContext.compiler.shouldStop(CompileStates.CompileState.ENTER)) {
|
||||||
val log = Log.instance(kaptContext.context) as KaptJavaLogBase
|
val log = Log.instance(kaptContext.context) as KaptJavaLogBase
|
||||||
@@ -73,7 +76,7 @@ class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHan
|
|||||||
val expectedErrorsStr = expectedErrors.joinToString(lineSeparator) { it.toDirectiveView() }
|
val expectedErrorsStr = expectedErrors.joinToString(lineSeparator) { it.toDirectiveView() }
|
||||||
if (expectedErrorsStr != actualErrorsStr) {
|
if (expectedErrorsStr != actualErrorsStr) {
|
||||||
assertions.assertEquals(expectedErrorsStr, actualErrorsStr) {
|
assertions.assertEquals(expectedErrorsStr, actualErrorsStr) {
|
||||||
System.err.println(AbstractKotlinKapt3Test.ERR_BYTE_STREAM.toString("UTF8"))
|
System.err.println(testServices.messageCollectorProvider.getErrorStream(module).toString("UTF8"))
|
||||||
"Expected error matching failed"
|
"Expected error matching failed"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+2
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.kapt3.test.runners;
|
|||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath;
|
import com.intellij.testFramework.TestDataPath;
|
||||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||||
|
import org.junit.jupiter.api.Tag;
|
||||||
import org.jetbrains.kotlin.test.TargetBackend;
|
import org.jetbrains.kotlin.test.TargetBackend;
|
||||||
import org.jetbrains.kotlin.test.TestMetadata;
|
import org.jetbrains.kotlin.test.TestMetadata;
|
||||||
import org.junit.jupiter.api.Nested;
|
import org.junit.jupiter.api.Nested;
|
||||||
@@ -19,6 +20,7 @@ import java.util.regex.Pattern;
|
|||||||
@SuppressWarnings("all")
|
@SuppressWarnings("all")
|
||||||
@TestMetadata("plugins/kapt3/kapt3-compiler/testData/kotlinRunner")
|
@TestMetadata("plugins/kapt3/kapt3-compiler/testData/kotlinRunner")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@Tag("IgnoreJDK11")
|
||||||
public class IrKotlinKaptContextTestGenerated extends AbstractIrKotlinKaptContextTest {
|
public class IrKotlinKaptContextTestGenerated extends AbstractIrKotlinKaptContextTest {
|
||||||
@Test
|
@Test
|
||||||
public void testAllFilesPresentInKotlinRunner() throws Exception {
|
public void testAllFilesPresentInKotlinRunner() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user