saveourtool / diktat

Strict coding standard for Kotlin and a custom set of rules for detecting code smells, code style issues and bugs
https://diktat.saveourtool.com
MIT License
521 stars 39 forks source link

Fix tests after migration to ktlint 1.0 #1737

Closed nulls closed 10 months ago

nulls commented 11 months ago

All tests marked as @Disabled("https://github.com/saveourtool/diktat/issues/1737")

Some of them can fail is due to multiply runs, another -- due to modification of AST tree (limitation of kotlin 1.9):

java.lang.IllegalArgumentException: Missing extension point: org.jetbrains.kotlin.com.intellij.treeCopyHandler in container {}
    at org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.ExtensionsAreaImpl.getExtensionPoint(ExtensionsAreaImpl.java:250) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.openapi.extensions.BaseExtensionPointName.getPointImpl(BaseExtensionPointName.java:28) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.openapi.extensions.ExtensionPointName.getExtensionList(ExtensionPointName.java:39) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.ChangeUtil.encodeInformation(ChangeUtil.java:43) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.ChangeUtil.lambda$encodeInformation$0(ChangeUtil.java:39) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:481) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.ChangeUtil.encodeInformation(ChangeUtil.java:39) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.ChangeUtil.copyElement(ChangeUtil.java:95) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.ChangeUtil.copyElement(ChangeUtil.java:87) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.TreeElement.copyElement(TreeElement.java:58) ~[kotlin-compiler-embeddable-1.9.10.jar:1.9.10-release-459]
    at com.saveourtool.diktat.ruleset.rules.chapter6.classes.StatelessClassesRule$handleClass$1.invoke(StatelessClassesRule.kt:56) ~[main/:?]
    at com.saveourtool.diktat.ruleset.rules.chapter6.classes.StatelessClassesRule$handleClass$1.invoke(StatelessClassesRule.kt:51) ~[main/:?]
    at com.saveourtool.diktat.ruleset.constants.Warnings.warnAndFix(Warnings.kt:273) ~[main/:?]

Possible solutions: https://github.com/pinterest/ktlint/pull/2044

nulls commented 11 months ago

Ignored tests:

DiktatSmokeTestBase

IndentationRuleFixTest

KdocCommentsFixTest

KdocMethodsFixTest

BracesRuleFixTest

FileStructureRuleTest

LineLengthFixTest

LocalVariablesWarnTest

NewlinesRuleWarnTest

IndentationRuleFixTest

SmartCastRuleWarnTest

ExtensionFunctionsSameNameWarnTest

RulesConfigValidationTest

VariablesWithAssignmentsSearchTest

VariablesWithUsagesSearchTest