Minor, cleanup kapt tests

Fix inspections, reformat
This commit is contained in:
Alexander Udalov
2021-12-15 23:43:58 +01:00
parent 62c1c33ee3
commit 754ad100a9
3 changed files with 21 additions and 35 deletions
@@ -43,12 +43,10 @@ import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.jetbrains.kotlin.test.util.trimTrailingWhitespacesAndAddNewlineAtEOF
import org.jetbrains.kotlin.utils.PathUtil
import java.io.File
import java.nio.file.Files
import java.util.ArrayList
import javax.annotation.processing.Completion
import javax.annotation.processing.ProcessingEnvironment
import javax.annotation.processing.Processor
@@ -80,14 +78,6 @@ abstract class AbstractKotlinKapt3IntegrationTest : KotlinKapt3TestBase() {
vararg supportedAnnotations: String,
options: Map<String, String> = emptyMap(),
process: (Set<TypeElement>, RoundEnvironment, ProcessingEnvironment) -> Unit
) = testAP(true, name, options, process, *supportedAnnotations)
private fun testAP(
shouldRun: Boolean,
name: String,
options: Map<String, String>,
process: (Set<TypeElement>, RoundEnvironment, ProcessingEnvironment) -> Unit,
vararg supportedAnnotations: String
) {
this.mutableOptions = options
@@ -115,7 +105,7 @@ abstract class AbstractKotlinKapt3IntegrationTest : KotlinKapt3TestBase() {
annotation: AnnotationMirror?,
member: ExecutableElement?,
userText: String?
): Iterable<Completion>? {
): Iterable<Completion> {
return emptyList()
}
@@ -126,8 +116,8 @@ abstract class AbstractKotlinKapt3IntegrationTest : KotlinKapt3TestBase() {
_processors = listOf(processor)
doTest(ktFileName.canonicalPath)
if (started != shouldRun) {
fail("Annotation processor " + (if (shouldRun) "was not started" else "was started"))
if (!started) {
fail("Annotation processor was not started")
}
}
@@ -168,7 +158,7 @@ abstract class AbstractKotlinKapt3IntegrationTest : KotlinKapt3TestBase() {
mutableOptions?.let { processingOptions.putAll(it) }
flags.addAll(kaptFlagsToAdd)
flags.removeAll(kaptFlagsToRemove)
flags.removeAll(kaptFlagsToRemove.toSet())
detectMemoryLeaks = DetectMemoryLeaksMode.NONE
}.build()
@@ -208,7 +198,8 @@ abstract class AbstractKotlinKapt3IntegrationTest : KotlinKapt3TestBase() {
override fun loadProcessors() = LoadedProcessors(
processors.map { IncrementalProcessor(it, DeclaredProcType.NON_INCREMENTAL, logger) },
Kapt3ExtensionForTests::class.java.classLoader)
Kapt3ExtensionForTests::class.java.classLoader
)
override fun saveStubs(kaptContext: KaptContext, stubs: List<KaptStub>) {
if (this.savedStubs != null) {
@@ -81,11 +81,10 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
super.tearDown()
}
private fun createTempFile(prefix: String, suffix: String, text: String): File {
return FileUtil.createTempFile(prefix, suffix, false).apply {
private fun createTempJavaFile(prefix: String, text: String): File =
FileUtil.createTempFile(prefix, ".java", false).apply {
writeText(text)
}
}
override fun loadMultiFiles(files: List<TestFile>) {
val project = myEnvironment.project
@@ -115,11 +114,10 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
val project = myEnvironment.project
val javacOptions = wholeFile.getOptionValues("JAVAC_OPTION")
.map { opt ->
val (key, value) = opt.split('=').map { it.trim() }.also { assert(it.size == 2) }
key to value
}.toMap()
val javacOptions = wholeFile.getOptionValues("JAVAC_OPTION").associate { opt ->
val (key, value) = opt.split('=').map { it.trim() }.also { assert(it.size == 2) }
key to value
}
val options = KaptOptions.Builder().apply {
projectBaseDir = project.basePath?.let { File(it) }
@@ -132,7 +130,7 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
this.javacOptions.putAll(javacOptions)
flags.addAll(kaptFlagsToAdd)
flags.removeAll(kaptFlagsToRemove)
flags.removeAll(kaptFlagsToRemove.toSet())
detectMemoryLeaks = DetectMemoryLeaksMode.NONE
}.build()
@@ -164,11 +162,9 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
val javaFiles = files
.filter { it.name.lowercase().endsWith(".java") }
.map { createTempFile(it.name.substringBeforeLast('.'), ".java", it.content) }
.map { createTempJavaFile(it.name.substringBeforeLast('.'), it.content) }
check(kaptContext, javaFiles, txtFile, wholeFile)
} catch (e: Throwable) {
throw RuntimeException(e)
} finally {
kaptContext?.close()
}
@@ -191,7 +187,7 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
val kaptStubs = converter.convert()
val convertedFiles = kaptStubs.map { stub ->
val sourceFile = createTempFile("stub", ".java", stub.file.prettyPrint(kaptContext.context))
val sourceFile = createTempJavaFile("stub", stub.file.prettyPrint(kaptContext.context))
stub.writeMetadataIfNeeded(forSource = sourceFile)
sourceFile
}
@@ -236,10 +232,10 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
open class AbstractClassFileToSourceStubConverterTest : AbstractKotlinKapt3Test(), CustomJdkTestLauncher {
companion object {
private val KOTLIN_METADATA_GROUP = "[a-z0-9]+ = (\\{.+?\\}|[0-9]+)"
private const val KOTLIN_METADATA_GROUP = "[a-z0-9]+ = (\\{.+?\\}|[0-9]+)"
private val KOTLIN_METADATA_REGEX = "@kotlin\\.Metadata\\(($KOTLIN_METADATA_GROUP)(, $KOTLIN_METADATA_GROUP)*\\)".toRegex()
private val EXPECTED_ERROR = "EXPECTED_ERROR"
private const val EXPECTED_ERROR = "EXPECTED_ERROR"
internal fun removeMetadataAnnotationContents(s: String): String {
return s.replace(KOTLIN_METADATA_REGEX, "@kotlin.Metadata()")
@@ -290,14 +286,14 @@ open class AbstractClassFileToSourceStubConverterTest : AbstractKotlinKapt3Test(
val convertedFiles = convert(kaptContext, javaFiles, generateNonExistentClass)
kaptContext.javaLog.interceptorData.files = convertedFiles.map { it.sourceFile to it }.toMap()
kaptContext.javaLog.interceptorData.files = convertedFiles.associateBy { it.sourceFile }
if (validate) kaptContext.compiler.enterTrees(convertedFiles)
val actualRaw = convertedFiles
.sortedBy { it.sourceFile.name }
.joinToString(FILE_SEPARATOR) { it.prettyPrint(kaptContext.context) }
val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' }))
val actual = StringUtil.convertLineSeparators(actualRaw.trim { it <= ' ' })
.trimTrailingWhitespacesAndAddNewlineAtEOF()
.let { removeMetadataAnnotationContents(it) }
@@ -318,7 +314,7 @@ open class AbstractClassFileToSourceStubConverterTest : AbstractKotlinKapt3Test(
val javaLocation = "($kind:${it.lineNumber}:${it.columnNumber}) "
javaLocation + it.getMessage(Locale.US).lines().first()
}
.map { "// " + EXPECTED_ERROR + it }
.map { "// $EXPECTED_ERROR$it" }
.sorted()
log.flush()
@@ -358,7 +354,7 @@ abstract class AbstractKotlinKaptContextTest : AbstractKotlinKapt3Test() {
val stubJavaFiles = kaptContext.options.sourcesOutputDir.walkTopDown().filter { it.isFile && it.extension == "java" }
val actualRaw = stubJavaFiles.sortedBy { it.name }.joinToString(FILE_SEPARATOR) { it.name + ":\n\n" + it.readText() }
val actual = StringUtil.convertLineSeparators(actualRaw.trim({ it <= ' ' })).trimTrailingWhitespacesAndAddNewlineAtEOF()
val actual = StringUtil.convertLineSeparators(actualRaw.trim { it <= ' ' }).trimTrailingWhitespacesAndAddNewlineAtEOF()
KotlinTestUtils.assertEqualsToFile(txtFile, actual)
}
}
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.kapt3.test
import junit.framework.TestCase
import org.jetbrains.kotlin.kapt3.javac.KaptJavaFileObject
import org.jetbrains.kotlin.resolve.jvm.extensions.AnalysisHandlerExtension
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance