[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") {
|
||||
dependsOn(":kotlin-annotation-processing:test")
|
||||
dependsOn(":kotlin-annotation-processing:testJdk11")
|
||||
dependsOn(":kotlin-annotation-processing-base: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.generateTestGroupSuiteWithJUnit5
|
||||
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.jvm.abi.*
|
||||
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.AbstractSerializationPluginBytecodeListingTest
|
||||
import org.jetbrains.kotlinx.serialization.AbstractSerializationPluginDiagnosticTest
|
||||
import org.junit.jupiter.api.Tag
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
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") {
|
||||
testClass<AbstractKotlinKaptContextTest> {
|
||||
val annotations = listOf(annotation(Tag::class.java, "IgnoreJDK11"))
|
||||
testClass<AbstractKotlinKaptContextTest>(annotations = annotations) {
|
||||
model("kotlinRunner")
|
||||
}
|
||||
|
||||
testClass<AbstractIrKotlinKaptContextTest> {
|
||||
testClass<AbstractIrKotlinKaptContextTest>(annotations = annotations) {
|
||||
model("kotlinRunner")
|
||||
}
|
||||
|
||||
|
||||
@@ -54,15 +54,24 @@ sourceSets {
|
||||
|
||||
testsJar {}
|
||||
|
||||
projectTest(parallel = true) {
|
||||
useJUnitPlatform()
|
||||
workingDir = rootDir
|
||||
dependsOn(":dist")
|
||||
kaptTestTask("test", JavaLanguageVersion.of(8))
|
||||
kaptTestTask("testJdk11", JavaLanguageVersion.of(11))
|
||||
|
||||
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()
|
||||
|
||||
runtimeJar()
|
||||
|
||||
sourcesJar()
|
||||
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.prettyPrint
|
||||
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.NON_EXISTENT_CLASS
|
||||
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.services.TestServices
|
||||
import org.jetbrains.kotlin.test.util.trimTrailingWhitespacesAndAddNewlineAtEOF
|
||||
import java.util.*
|
||||
|
||||
class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHandler(testServices) {
|
||||
companion object {
|
||||
const val FILE_SEPARATOR = "\n\n////////////////////\n\n"
|
||||
}
|
||||
|
||||
override fun processModule(module: TestModule, info: KaptContextBinaryArtifact) {
|
||||
val generateNonExistentClass = NON_EXISTENT_CLASS in module.directives
|
||||
val validate = NO_VALIDATION !in module.directives
|
||||
@@ -37,11 +40,11 @@ class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHan
|
||||
|
||||
val actualRaw = convertedFiles
|
||||
.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 <= ' ' })
|
||||
.trimTrailingWhitespacesAndAddNewlineAtEOF()
|
||||
.let { AbstractClassFileToSourceStubConverterTest.removeMetadataAnnotationContents(it) }
|
||||
.let { removeMetadataAnnotationContents(it) }
|
||||
|
||||
if (kaptContext.compiler.shouldStop(CompileStates.CompileState.ENTER)) {
|
||||
val log = Log.instance(kaptContext.context) as KaptJavaLogBase
|
||||
@@ -73,7 +76,7 @@ class ClassFileToSourceKaptStubHandler(testServices: TestServices) : BaseKaptHan
|
||||
val expectedErrorsStr = expectedErrors.joinToString(lineSeparator) { it.toDirectiveView() }
|
||||
if (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"
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.kapt3.test.runners;
|
||||
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import org.jetbrains.kotlin.test.util.KtTestUtil;
|
||||
import org.junit.jupiter.api.Tag;
|
||||
import org.jetbrains.kotlin.test.TargetBackend;
|
||||
import org.jetbrains.kotlin.test.TestMetadata;
|
||||
import org.junit.jupiter.api.Nested;
|
||||
@@ -19,6 +20,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/kapt3/kapt3-compiler/testData/kotlinRunner")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@Tag("IgnoreJDK11")
|
||||
public class IrKotlinKaptContextTestGenerated extends AbstractIrKotlinKaptContextTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInKotlinRunner() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user