diff --git a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt index f1ae1ec1ffe..aa5d30c3cb5 100644 --- a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt +++ b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3IntegrationTest.kt @@ -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 = emptyMap(), process: (Set, RoundEnvironment, ProcessingEnvironment) -> Unit - ) = testAP(true, name, options, process, *supportedAnnotations) - - private fun testAP( - shouldRun: Boolean, - name: String, - options: Map, - process: (Set, RoundEnvironment, ProcessingEnvironment) -> Unit, - vararg supportedAnnotations: String ) { this.mutableOptions = options @@ -115,7 +105,7 @@ abstract class AbstractKotlinKapt3IntegrationTest : KotlinKapt3TestBase() { annotation: AnnotationMirror?, member: ExecutableElement?, userText: String? - ): Iterable? { + ): Iterable { 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) { if (this.savedStubs != null) { diff --git a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt index 4f376057f72..e64756c26f0 100644 --- a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt +++ b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/AbstractKotlinKapt3Test.kt @@ -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) { 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) } } diff --git a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt index 1556e6d806d..bb3d5fcf526 100644 --- a/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt +++ b/plugins/kapt3/kapt3-compiler/test/org/jetbrains/kotlin/kapt3/test/KotlinKapt3IntegrationTests.kt @@ -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