From 9955f342c0c57d66a69410e3bc165e32918e7ed1 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 11 Mar 2020 10:33:45 +0300 Subject: [PATCH] [FIR-TEST] Move FIR ide tests to separate module --- build.gradle.kts | 5 +- generators/build.gradle.kts | 1 + .../kotlin/generators/tests/GenerateTests.kt | 30 ++++----- .../generators/tests/GenerateTests.kt.as35 | 19 ------ .../generators/tests/GenerateTests.kt.as36 | 18 ------ .../generators/tests/GenerateTests.kt.as40 | 19 ------ idea/build.gradle.kts | 9 --- idea/idea-fir/build.gradle.kts | 61 +++++++++++++++++++ .../checkers/AbstractFirPsiCheckerTest.kt | 2 +- .../checkers/FirPsiCheckerTestGenerated.java | 0 .../idea/fir/AbstractFirLazyResolveTest.kt | 2 +- .../fir/AbstractFirMultiModuleResolveTest.kt | 0 .../idea/fir/FirLazyResolveTestGenerated.java | 0 .../FirMultiModuleResolveTestGenerated.java | 0 .../kotlin/idea/fir/FirResolveStateTest.kt | 0 .../AbstractFirReferenceResolveTest.kt | 2 +- .../FirReferenceResolveTestGenerated.java | 0 settings.gradle | 1 + 18 files changed, 85 insertions(+), 84 deletions(-) create mode 100644 idea/idea-fir/build.gradle.kts rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt (96%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/checkers/FirPsiCheckerTestGenerated.java (100%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt (98%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/fir/AbstractFirMultiModuleResolveTest.kt (100%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/fir/FirLazyResolveTestGenerated.java (100%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/fir/FirMultiModuleResolveTestGenerated.java (100%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/fir/FirResolveStateTest.kt (100%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt (94%) rename idea/{ => idea-fir}/tests/org/jetbrains/kotlin/idea/resolve/FirReferenceResolveTestGenerated.java (100%) diff --git a/build.gradle.kts b/build.gradle.kts index 80d6d62a640..332b63884b2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -563,7 +563,7 @@ tasks { ":compiler:fir:lightTree:test", ":compiler:fir:resolve:test", ":compiler:fir:fir2ir:test", - ":idea:firTest" + ":idea:idea-fir:test" ) } @@ -657,7 +657,8 @@ tasks { ":idea:jvm-debugger:jvm-debugger-evaluation:test", ":idea:jvm-debugger:jvm-debugger-sequence:test", ":idea:jvm-debugger:eval4j:test", - ":idea:scripting-support:test" + ":idea:scripting-support:test", + ":idea:idea-fir:test" ) } diff --git a/generators/build.gradle.kts b/generators/build.gradle.kts index 7492476f3fa..f2b1d64a595 100644 --- a/generators/build.gradle.kts +++ b/generators/build.gradle.kts @@ -37,6 +37,7 @@ dependencies { testCompile(projectTests(":compiler:cli")) testCompile(projectTests(":idea:idea-maven")) + testCompile(projectTests(":idea:idea-fir")) testCompile(projectTests(":j2k")) testCompile(projectTests(":nj2k")) testCompile(projectTests(":libraries:tools:new-project-wizard:new-project-wizard-cli")) diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index 022d99e32e9..2651a69747e 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -258,16 +258,6 @@ fun main(args: Array) { model("checker/diagnosticsMessage") } - testClass { - model("checker", recursive = false) - model("checker/regression") - model("checker/recovery") - model("checker/rendering") - model("checker/duplicateJvmSignature") - model("checker/infos") - model("checker/diagnosticsMessage") - } - testClass { model("kotlinAndJavaChecker/javaAgainstKotlin") model("kotlinAndJavaChecker/javaWithKotlin") @@ -517,10 +507,6 @@ fun main(args: Array) { model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) } - testClass { - model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) - } - testClass { model("resolve/referenceInJava/binaryAndSource", extension = "java") model("resolve/referenceInJava/sourceOnly", extension = "java") @@ -889,7 +875,9 @@ fun main(args: Array) { testClass { model("slicer/inflow", singleClass = true) } + } + testGroup("idea/idea-fir/tests", "idea/testData") { testClass { model("fir/multiModule", recursive = false, extension = null) } @@ -897,6 +885,20 @@ fun main(args: Array) { testClass { model("fir/lazyResolve", extension = "test", singleClass = true, filenameStartsLowerCase = true) } + + testClass { + model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) + } + + testClass { + model("checker", recursive = false) + model("checker/regression") + model("checker/recovery") + model("checker/rendering") + model("checker/duplicateJvmSignature") + model("checker/infos") + model("checker/diagnosticsMessage") + } } testGroup("idea/scripting-support/test", "idea/scripting-support/testData") { diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as35 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as35 index 249e367aa22..1ae3ca58b96 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as35 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as35 @@ -81,7 +81,6 @@ import org.jetbrains.kotlin.idea.editor.AbstractMultiLineStringIndentTest import org.jetbrains.kotlin.idea.editor.backspaceHandler.AbstractBackspaceHandlerTest import org.jetbrains.kotlin.idea.editor.quickDoc.AbstractQuickDocProviderTest import org.jetbrains.kotlin.idea.filters.AbstractKotlinExceptionFilterTest -import org.jetbrains.kotlin.idea.fir.AbstractFirMultiModuleResolveTest import org.jetbrains.kotlin.idea.folding.AbstractKotlinFoldingTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyWithLibTest @@ -249,16 +248,6 @@ fun main(args: Array) { model("checker/diagnosticsMessage") } - testClass { - model("checker", recursive = false) - model("checker/regression") - model("checker/recovery") - model("checker/rendering") - model("checker/duplicateJvmSignature") - model("checker/infos") - model("checker/diagnosticsMessage") - } - testClass { model("kotlinAndJavaChecker/javaAgainstKotlin") model("kotlinAndJavaChecker/javaWithKotlin") @@ -503,10 +492,6 @@ fun main(args: Array) { model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) } - testClass { - model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) - } - testClass { model("resolve/referenceInJava/binaryAndSource", extension = "java") model("resolve/referenceInJava/sourceOnly", extension = "java") @@ -865,10 +850,6 @@ fun main(args: Array) { testClass { model("scratch/lineMarker", testMethod = "doScratchTest", pattern = KT_OR_KTS) } - - testClass { - model("fir/multiModule", recursive = false, extension = null) - } } /* diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as36 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as36 index 249e367aa22..d8b8c8bf472 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as36 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as36 @@ -81,7 +81,6 @@ import org.jetbrains.kotlin.idea.editor.AbstractMultiLineStringIndentTest import org.jetbrains.kotlin.idea.editor.backspaceHandler.AbstractBackspaceHandlerTest import org.jetbrains.kotlin.idea.editor.quickDoc.AbstractQuickDocProviderTest import org.jetbrains.kotlin.idea.filters.AbstractKotlinExceptionFilterTest -import org.jetbrains.kotlin.idea.fir.AbstractFirMultiModuleResolveTest import org.jetbrains.kotlin.idea.folding.AbstractKotlinFoldingTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyWithLibTest @@ -249,16 +248,6 @@ fun main(args: Array) { model("checker/diagnosticsMessage") } - testClass { - model("checker", recursive = false) - model("checker/regression") - model("checker/recovery") - model("checker/rendering") - model("checker/duplicateJvmSignature") - model("checker/infos") - model("checker/diagnosticsMessage") - } - testClass { model("kotlinAndJavaChecker/javaAgainstKotlin") model("kotlinAndJavaChecker/javaWithKotlin") @@ -503,10 +492,6 @@ fun main(args: Array) { model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) } - testClass { - model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) - } - testClass { model("resolve/referenceInJava/binaryAndSource", extension = "java") model("resolve/referenceInJava/sourceOnly", extension = "java") @@ -866,9 +851,6 @@ fun main(args: Array) { model("scratch/lineMarker", testMethod = "doScratchTest", pattern = KT_OR_KTS) } - testClass { - model("fir/multiModule", recursive = false, extension = null) - } } /* diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as40 b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as40 index 249e367aa22..1ae3ca58b96 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as40 +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt.as40 @@ -81,7 +81,6 @@ import org.jetbrains.kotlin.idea.editor.AbstractMultiLineStringIndentTest import org.jetbrains.kotlin.idea.editor.backspaceHandler.AbstractBackspaceHandlerTest import org.jetbrains.kotlin.idea.editor.quickDoc.AbstractQuickDocProviderTest import org.jetbrains.kotlin.idea.filters.AbstractKotlinExceptionFilterTest -import org.jetbrains.kotlin.idea.fir.AbstractFirMultiModuleResolveTest import org.jetbrains.kotlin.idea.folding.AbstractKotlinFoldingTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyTest import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyWithLibTest @@ -249,16 +248,6 @@ fun main(args: Array) { model("checker/diagnosticsMessage") } - testClass { - model("checker", recursive = false) - model("checker/regression") - model("checker/recovery") - model("checker/rendering") - model("checker/duplicateJvmSignature") - model("checker/infos") - model("checker/diagnosticsMessage") - } - testClass { model("kotlinAndJavaChecker/javaAgainstKotlin") model("kotlinAndJavaChecker/javaWithKotlin") @@ -503,10 +492,6 @@ fun main(args: Array) { model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) } - testClass { - model("resolve/references", pattern = KT_WITHOUT_DOTS_IN_NAME) - } - testClass { model("resolve/referenceInJava/binaryAndSource", extension = "java") model("resolve/referenceInJava/sourceOnly", extension = "java") @@ -865,10 +850,6 @@ fun main(args: Array) { testClass { model("scratch/lineMarker", testMethod = "doScratchTest", pattern = KT_OR_KTS) } - - testClass { - model("fir/multiModule", recursive = false, extension = null) - } } /* diff --git a/idea/build.gradle.kts b/idea/build.gradle.kts index c259f4e66e0..113a1a354ee 100644 --- a/idea/build.gradle.kts +++ b/idea/build.gradle.kts @@ -192,15 +192,6 @@ projectTest(parallel = true) { workingDir = rootDir } -projectTest("firTest", parallel = true) { - dependsOn(":dist") - workingDir = rootDir - filter { - includeTestsMatching("org.jetbrains.kotlin.idea.fir.*") - includeTestsMatching("org.jetbrains.kotlin.idea.resolve.FirReferenceResolveTestGenerated") - } -} - configureFormInstrumentation() testsJar() \ No newline at end of file diff --git a/idea/idea-fir/build.gradle.kts b/idea/idea-fir/build.gradle.kts new file mode 100644 index 00000000000..9766187f1f2 --- /dev/null +++ b/idea/idea-fir/build.gradle.kts @@ -0,0 +1,61 @@ +plugins { + kotlin("jvm") + id("jps-compatible") +} + +dependencies { + testCompileOnly(toolsJar()) + testCompile(project(":idea")) + testCompile(projectTests(":idea")) + testCompile(projectTests(":compiler:tests-common")) + testCompile(projectTests(":idea:idea-test-framework")) { isTransitive = false } + testCompile(project(":kotlin-test:kotlin-test-junit")) + testCompile(commonDep("junit:junit")) + + testCompileOnly(intellijDep()) + testRuntime(intellijDep()) + + Platform[192].orHigher { + testCompileOnly(intellijPluginDep("java")) + testRuntime(intellijPluginDep("java")) + } + + testRuntime(intellijRuntimeAnnotations()) + testRuntime(project(":native:kotlin-native-utils")) { isTransitive = false } + testRuntime(commonDep("org.jetbrains", "markdown")) + testRuntime(project(":plugins:kapt3-idea")) { isTransitive = false } + testRuntime(project(":kotlin-reflect")) + testRuntime(project(":kotlin-preloader")) + + testCompile(project(":kotlin-sam-with-receiver-compiler-plugin")) { isTransitive = false } + + testRuntime(project(":plugins:android-extensions-compiler")) + testRuntimeOnly(project(":kotlin-android-extensions-runtime")) // TODO: fix import (workaround for jps build) + testRuntime(project(":plugins:android-extensions-ide")) { isTransitive = false } + testRuntime(project(":allopen-ide-plugin")) { isTransitive = false } + testRuntime(project(":kotlin-allopen-compiler-plugin")) + testRuntime(project(":noarg-ide-plugin")) { isTransitive = false } + testRuntime(project(":kotlin-noarg-compiler-plugin")) + testRuntime(project(":plugins:annotation-based-compiler-plugins-ide-support")) { isTransitive = false } + testRuntime(project(":kotlin-scripting-idea")) { isTransitive = false } + testRuntime(project(":kotlin-scripting-compiler-impl")) + testRuntime(project(":sam-with-receiver-ide-plugin")) { isTransitive = false } + testRuntime(project(":kotlinx-serialization-compiler-plugin")) + testRuntime(project(":kotlinx-serialization-ide-plugin")) { isTransitive = false } + testRuntime(project(":idea:idea-android")) { isTransitive = false } + testRuntime(project(":plugins:lint")) { isTransitive = false } + testRuntime(project(":plugins:uast-kotlin")) + testRuntime(project(":nj2k:nj2k-services")) { isTransitive = false } +} + +sourceSets { + "main" { none() } + "test" { projectDefault() } +} + +projectTest(parallel = true) { + dependsOn(":dist") + workingDir = rootDir +} + +testsJar() diff --git a/idea/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt similarity index 96% rename from idea/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt rename to idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt index 6d1636bbe25..656c7e85ab4 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt +++ b/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/AbstractFirPsiCheckerTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ diff --git a/idea/tests/org/jetbrains/kotlin/checkers/FirPsiCheckerTestGenerated.java b/idea/idea-fir/tests/org/jetbrains/kotlin/checkers/FirPsiCheckerTestGenerated.java similarity index 100% rename from idea/tests/org/jetbrains/kotlin/checkers/FirPsiCheckerTestGenerated.java rename to idea/idea-fir/tests/org/jetbrains/kotlin/checkers/FirPsiCheckerTestGenerated.java diff --git a/idea/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt similarity index 98% rename from idea/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt index 92ce159d7cf..5238cb0d1a7 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt +++ b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractFirLazyResolveTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ diff --git a/idea/tests/org/jetbrains/kotlin/idea/fir/AbstractFirMultiModuleResolveTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractFirMultiModuleResolveTest.kt similarity index 100% rename from idea/tests/org/jetbrains/kotlin/idea/fir/AbstractFirMultiModuleResolveTest.kt rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/AbstractFirMultiModuleResolveTest.kt diff --git a/idea/tests/org/jetbrains/kotlin/idea/fir/FirLazyResolveTestGenerated.java b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/FirLazyResolveTestGenerated.java similarity index 100% rename from idea/tests/org/jetbrains/kotlin/idea/fir/FirLazyResolveTestGenerated.java rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/FirLazyResolveTestGenerated.java diff --git a/idea/tests/org/jetbrains/kotlin/idea/fir/FirMultiModuleResolveTestGenerated.java b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/FirMultiModuleResolveTestGenerated.java similarity index 100% rename from idea/tests/org/jetbrains/kotlin/idea/fir/FirMultiModuleResolveTestGenerated.java rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/FirMultiModuleResolveTestGenerated.java diff --git a/idea/tests/org/jetbrains/kotlin/idea/fir/FirResolveStateTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/FirResolveStateTest.kt similarity index 100% rename from idea/tests/org/jetbrains/kotlin/idea/fir/FirResolveStateTest.kt rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/fir/FirResolveStateTest.kt diff --git a/idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt similarity index 94% rename from idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt index 07016f08955..def507ffd25 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt +++ b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/resolve/AbstractFirReferenceResolveTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ diff --git a/idea/tests/org/jetbrains/kotlin/idea/resolve/FirReferenceResolveTestGenerated.java b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/resolve/FirReferenceResolveTestGenerated.java similarity index 100% rename from idea/tests/org/jetbrains/kotlin/idea/resolve/FirReferenceResolveTestGenerated.java rename to idea/idea-fir/tests/org/jetbrains/kotlin/idea/resolve/FirReferenceResolveTestGenerated.java diff --git a/settings.gradle b/settings.gradle index 5a676bb7d54..a4c1e0f52d1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -151,6 +151,7 @@ include ":kotlin-build-common", ":idea:formatter", ":idea:ide-common", ":idea:idea-core", + ":idea:idea-fir", ":idea:kotlin-gradle-tooling", ":idea:idea-android", ":idea:idea-android-output-parser",