From 023067aaf2eaef5f4f6ac237194afde14a57662a Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 6 Oct 2017 17:55:58 +0300 Subject: [PATCH] Allow to use folders for gradle configuration tests --- .../kotlin/generators/tests/GenerateTests.kt | 4 +- ...radleConfigureProjectByChangingFileTest.kt | 20 ++++++- ...ureProjectByChangingFileTestGenerated.java | 52 +++++++++---------- .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle} | 0 .../build_before.gradle} | 0 .../build_after.gradle.kts} | 0 .../build_before.gradle.kts} | 0 .../build_after.gradle.kts} | 0 .../build_before.gradle.kts} | 0 .../build_after.gradle.kts} | 0 .../build_before.gradle.kts} | 0 .../build_after.gradle.kts} | 0 .../build_before.gradle.kts} | 0 .../build_after.gradle.kts} | 0 .../build_before.gradle.kts} | 0 27 files changed, 46 insertions(+), 30 deletions(-) rename idea/testData/configuration/gradle/{default_after.gradle => default/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{default_before.gradle => default/build_before.gradle} (100%) rename idea/testData/configuration/gradle/{eapVersion_after.gradle => eapVersion/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{eapVersion_before.gradle => eapVersion/build_before.gradle} (100%) rename idea/testData/configuration/gradle/{js_after.gradle => js/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{js_before.gradle => js/build_before.gradle} (100%) rename idea/testData/configuration/gradle/{m04Version_after.gradle => m04Version/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{m04Version_before.gradle => m04Version/build_before.gradle} (100%) rename idea/testData/configuration/gradle/{missedLibrary_after.gradle => missedLibrary/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{missedLibrary_before.gradle => missedLibrary/build_before.gradle} (100%) rename idea/testData/configuration/gradle/{plugin_present_after.gradle => plugin_present/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{plugin_present_before.gradle => plugin_present/build_before.gradle} (100%) rename idea/testData/configuration/gradle/{rcVersion_after.gradle => rcVersion/build_after.gradle} (100%) rename idea/testData/configuration/gradle/{rcVersion_before.gradle => rcVersion/build_before.gradle} (100%) rename idea/testData/configuration/gsk/{eap11Version_after.gradle.kts => eap11Version/build_after.gradle.kts} (100%) rename idea/testData/configuration/gsk/{eap11Version_before.gradle.kts => eap11Version/build_before.gradle.kts} (100%) rename idea/testData/configuration/gsk/{eapVersion_after.gradle.kts => eapVersion/build_after.gradle.kts} (100%) rename idea/testData/configuration/gsk/{eapVersion_before.gradle.kts => eapVersion/build_before.gradle.kts} (100%) rename idea/testData/configuration/gsk/{helloWorld_after.gradle.kts => helloWorld/build_after.gradle.kts} (100%) rename idea/testData/configuration/gsk/{helloWorld_before.gradle.kts => helloWorld/build_before.gradle.kts} (100%) rename idea/testData/configuration/gsk/{missedLibrary_after.gradle.kts => missedLibrary/build_after.gradle.kts} (100%) rename idea/testData/configuration/gsk/{missedLibrary_before.gradle.kts => missedLibrary/build_before.gradle.kts} (100%) rename idea/testData/configuration/gsk/{pluginPresent_after.gradle.kts => pluginPresent/build_after.gradle.kts} (100%) rename idea/testData/configuration/gsk/{pluginPresent_before.gradle.kts => pluginPresent/build_before.gradle.kts} (100%) diff --git a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index 1f8621fa212..32f26e4feb5 100755 --- a/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/src/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -1132,8 +1132,8 @@ fun main(args: Array) { testGroup("idea/idea-gradle/tests", "idea/testData") { testClass { - model("configuration/gradle", pattern = """(\w+)_before\.gradle$""", testMethod = "doTestGradle") - model("configuration/gsk", pattern = """(\w+)_before\.gradle.kts$""", testMethod = "doTestGradle") + model("configuration/gradle", extension = null, recursive = false, testMethod = "doTestGradle") + model("configuration/gsk", extension = null, recursive = false, testMethod = "doTestGradle") } } diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt index 06c548f41ba..24eab43a124 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/AbstractGradleConfigureProjectByChangingFileTest.kt @@ -20,12 +20,28 @@ import com.intellij.openapi.module.Module import com.intellij.psi.PsiFile import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.plugins.groovy.lang.psi.GroovyFile +import java.io.File abstract class AbstractGradleConfigureProjectByChangingFileTest : AbstractConfigureProjectByChangingFileTest() { fun doTestGradle(path: String) { - doTest(path, path.replace("before", "after"), - if ("js" in path) KotlinJsGradleModuleConfigurator() else KotlinGradleModuleConfigurator()) + val testPathFile = File(testDataPath + path) + val (before, after) = if (testPathFile.isFile) { + path to path.replace("before", "after") + } + else { + when { + File(testPathFile, "build_before.gradle").exists() -> + "$path/build_before.gradle" to "$path/build_after.gradle" + + File(testPathFile, "build_before.gradle.kts").exists() -> + "$path/build_before.gradle.kts" to "$path/build_after.gradle.kts" + + else -> error("Can't find test data files") + } + } + + doTest(before, after, if ("js" in path) KotlinJsGradleModuleConfigurator() else KotlinGradleModuleConfigurator()) } override fun runConfigurator(module: Module, file: PsiFile, configurator: KotlinWithGradleConfigurator, version: String, collector: NotificationMessageCollector) { diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java index 4310abbaf34..1fd2dcf205a 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/configuration/GradleConfigureProjectByChangingFileTestGenerated.java @@ -35,48 +35,48 @@ public class GradleConfigureProjectByChangingFileTestGenerated extends AbstractG @RunWith(JUnit3RunnerWithInners.class) public static class Gradle extends AbstractGradleConfigureProjectByChangingFileTest { public void testAllFilesPresentInGradle() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/configuration/gradle"), Pattern.compile("(\\w+)_before\\.gradle$"), TargetBackend.ANY, true); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/configuration/gradle"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, false); } - @TestMetadata("default_before.gradle") + @TestMetadata("default") public void testDefault() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/default_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/default/"); doTestGradle(fileName); } - @TestMetadata("eapVersion_before.gradle") + @TestMetadata("eapVersion") public void testEapVersion() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/eapVersion_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/eapVersion/"); doTestGradle(fileName); } - @TestMetadata("js_before.gradle") + @TestMetadata("js") public void testJs() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/js_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/js/"); doTestGradle(fileName); } - @TestMetadata("m04Version_before.gradle") + @TestMetadata("m04Version") public void testM04Version() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/m04Version_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/m04Version/"); doTestGradle(fileName); } - @TestMetadata("missedLibrary_before.gradle") + @TestMetadata("missedLibrary") public void testMissedLibrary() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/missedLibrary_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/missedLibrary/"); doTestGradle(fileName); } - @TestMetadata("plugin_present_before.gradle") + @TestMetadata("plugin_present") public void testPlugin_present() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/plugin_present_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/plugin_present/"); doTestGradle(fileName); } - @TestMetadata("rcVersion_before.gradle") + @TestMetadata("rcVersion") public void testRcVersion() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/rcVersion_before.gradle"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gradle/rcVersion/"); doTestGradle(fileName); } } @@ -86,36 +86,36 @@ public class GradleConfigureProjectByChangingFileTestGenerated extends AbstractG @RunWith(JUnit3RunnerWithInners.class) public static class Gsk extends AbstractGradleConfigureProjectByChangingFileTest { public void testAllFilesPresentInGsk() throws Exception { - KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/configuration/gsk"), Pattern.compile("(\\w+)_before\\.gradle.kts$"), TargetBackend.ANY, true); + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/configuration/gsk"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, false); } - @TestMetadata("eap11Version_before.gradle.kts") + @TestMetadata("eap11Version") public void testEap11Version() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/eap11Version_before.gradle.kts"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/eap11Version/"); doTestGradle(fileName); } - @TestMetadata("eapVersion_before.gradle.kts") + @TestMetadata("eapVersion") public void testEapVersion() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/eapVersion_before.gradle.kts"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/eapVersion/"); doTestGradle(fileName); } - @TestMetadata("helloWorld_before.gradle.kts") + @TestMetadata("helloWorld") public void testHelloWorld() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/helloWorld_before.gradle.kts"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/helloWorld/"); doTestGradle(fileName); } - @TestMetadata("missedLibrary_before.gradle.kts") + @TestMetadata("missedLibrary") public void testMissedLibrary() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/missedLibrary_before.gradle.kts"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/missedLibrary/"); doTestGradle(fileName); } - @TestMetadata("pluginPresent_before.gradle.kts") + @TestMetadata("pluginPresent") public void testPluginPresent() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/pluginPresent_before.gradle.kts"); + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/configuration/gsk/pluginPresent/"); doTestGradle(fileName); } } diff --git a/idea/testData/configuration/gradle/default_after.gradle b/idea/testData/configuration/gradle/default/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/default_after.gradle rename to idea/testData/configuration/gradle/default/build_after.gradle diff --git a/idea/testData/configuration/gradle/default_before.gradle b/idea/testData/configuration/gradle/default/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/default_before.gradle rename to idea/testData/configuration/gradle/default/build_before.gradle diff --git a/idea/testData/configuration/gradle/eapVersion_after.gradle b/idea/testData/configuration/gradle/eapVersion/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/eapVersion_after.gradle rename to idea/testData/configuration/gradle/eapVersion/build_after.gradle diff --git a/idea/testData/configuration/gradle/eapVersion_before.gradle b/idea/testData/configuration/gradle/eapVersion/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/eapVersion_before.gradle rename to idea/testData/configuration/gradle/eapVersion/build_before.gradle diff --git a/idea/testData/configuration/gradle/js_after.gradle b/idea/testData/configuration/gradle/js/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/js_after.gradle rename to idea/testData/configuration/gradle/js/build_after.gradle diff --git a/idea/testData/configuration/gradle/js_before.gradle b/idea/testData/configuration/gradle/js/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/js_before.gradle rename to idea/testData/configuration/gradle/js/build_before.gradle diff --git a/idea/testData/configuration/gradle/m04Version_after.gradle b/idea/testData/configuration/gradle/m04Version/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/m04Version_after.gradle rename to idea/testData/configuration/gradle/m04Version/build_after.gradle diff --git a/idea/testData/configuration/gradle/m04Version_before.gradle b/idea/testData/configuration/gradle/m04Version/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/m04Version_before.gradle rename to idea/testData/configuration/gradle/m04Version/build_before.gradle diff --git a/idea/testData/configuration/gradle/missedLibrary_after.gradle b/idea/testData/configuration/gradle/missedLibrary/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/missedLibrary_after.gradle rename to idea/testData/configuration/gradle/missedLibrary/build_after.gradle diff --git a/idea/testData/configuration/gradle/missedLibrary_before.gradle b/idea/testData/configuration/gradle/missedLibrary/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/missedLibrary_before.gradle rename to idea/testData/configuration/gradle/missedLibrary/build_before.gradle diff --git a/idea/testData/configuration/gradle/plugin_present_after.gradle b/idea/testData/configuration/gradle/plugin_present/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/plugin_present_after.gradle rename to idea/testData/configuration/gradle/plugin_present/build_after.gradle diff --git a/idea/testData/configuration/gradle/plugin_present_before.gradle b/idea/testData/configuration/gradle/plugin_present/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/plugin_present_before.gradle rename to idea/testData/configuration/gradle/plugin_present/build_before.gradle diff --git a/idea/testData/configuration/gradle/rcVersion_after.gradle b/idea/testData/configuration/gradle/rcVersion/build_after.gradle similarity index 100% rename from idea/testData/configuration/gradle/rcVersion_after.gradle rename to idea/testData/configuration/gradle/rcVersion/build_after.gradle diff --git a/idea/testData/configuration/gradle/rcVersion_before.gradle b/idea/testData/configuration/gradle/rcVersion/build_before.gradle similarity index 100% rename from idea/testData/configuration/gradle/rcVersion_before.gradle rename to idea/testData/configuration/gradle/rcVersion/build_before.gradle diff --git a/idea/testData/configuration/gsk/eap11Version_after.gradle.kts b/idea/testData/configuration/gsk/eap11Version/build_after.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/eap11Version_after.gradle.kts rename to idea/testData/configuration/gsk/eap11Version/build_after.gradle.kts diff --git a/idea/testData/configuration/gsk/eap11Version_before.gradle.kts b/idea/testData/configuration/gsk/eap11Version/build_before.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/eap11Version_before.gradle.kts rename to idea/testData/configuration/gsk/eap11Version/build_before.gradle.kts diff --git a/idea/testData/configuration/gsk/eapVersion_after.gradle.kts b/idea/testData/configuration/gsk/eapVersion/build_after.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/eapVersion_after.gradle.kts rename to idea/testData/configuration/gsk/eapVersion/build_after.gradle.kts diff --git a/idea/testData/configuration/gsk/eapVersion_before.gradle.kts b/idea/testData/configuration/gsk/eapVersion/build_before.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/eapVersion_before.gradle.kts rename to idea/testData/configuration/gsk/eapVersion/build_before.gradle.kts diff --git a/idea/testData/configuration/gsk/helloWorld_after.gradle.kts b/idea/testData/configuration/gsk/helloWorld/build_after.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/helloWorld_after.gradle.kts rename to idea/testData/configuration/gsk/helloWorld/build_after.gradle.kts diff --git a/idea/testData/configuration/gsk/helloWorld_before.gradle.kts b/idea/testData/configuration/gsk/helloWorld/build_before.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/helloWorld_before.gradle.kts rename to idea/testData/configuration/gsk/helloWorld/build_before.gradle.kts diff --git a/idea/testData/configuration/gsk/missedLibrary_after.gradle.kts b/idea/testData/configuration/gsk/missedLibrary/build_after.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/missedLibrary_after.gradle.kts rename to idea/testData/configuration/gsk/missedLibrary/build_after.gradle.kts diff --git a/idea/testData/configuration/gsk/missedLibrary_before.gradle.kts b/idea/testData/configuration/gsk/missedLibrary/build_before.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/missedLibrary_before.gradle.kts rename to idea/testData/configuration/gsk/missedLibrary/build_before.gradle.kts diff --git a/idea/testData/configuration/gsk/pluginPresent_after.gradle.kts b/idea/testData/configuration/gsk/pluginPresent/build_after.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/pluginPresent_after.gradle.kts rename to idea/testData/configuration/gsk/pluginPresent/build_after.gradle.kts diff --git a/idea/testData/configuration/gsk/pluginPresent_before.gradle.kts b/idea/testData/configuration/gsk/pluginPresent/build_before.gradle.kts similarity index 100% rename from idea/testData/configuration/gsk/pluginPresent_before.gradle.kts rename to idea/testData/configuration/gsk/pluginPresent/build_before.gradle.kts