Allow to use folders for gradle configuration tests

This commit is contained in:
Nikolay Krasko
2017-10-06 17:55:58 +03:00
parent cc0a9070b9
commit 023067aaf2
27 changed files with 46 additions and 30 deletions
@@ -1132,8 +1132,8 @@ fun main(args: Array<String>) {
testGroup("idea/idea-gradle/tests", "idea/testData") { testGroup("idea/idea-gradle/tests", "idea/testData") {
testClass<AbstractGradleConfigureProjectByChangingFileTest> { testClass<AbstractGradleConfigureProjectByChangingFileTest> {
model("configuration/gradle", pattern = """(\w+)_before\.gradle$""", testMethod = "doTestGradle") model("configuration/gradle", extension = null, recursive = false, testMethod = "doTestGradle")
model("configuration/gsk", pattern = """(\w+)_before\.gradle.kts$""", testMethod = "doTestGradle") model("configuration/gsk", extension = null, recursive = false, testMethod = "doTestGradle")
} }
} }
@@ -20,12 +20,28 @@ import com.intellij.openapi.module.Module
import com.intellij.psi.PsiFile import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.plugins.groovy.lang.psi.GroovyFile import org.jetbrains.plugins.groovy.lang.psi.GroovyFile
import java.io.File
abstract class AbstractGradleConfigureProjectByChangingFileTest : AbstractConfigureProjectByChangingFileTest<KotlinWithGradleConfigurator>() { abstract class AbstractGradleConfigureProjectByChangingFileTest : AbstractConfigureProjectByChangingFileTest<KotlinWithGradleConfigurator>() {
fun doTestGradle(path: String) { fun doTestGradle(path: String) {
doTest(path, path.replace("before", "after"), val testPathFile = File(testDataPath + path)
if ("js" in path) KotlinJsGradleModuleConfigurator() else KotlinGradleModuleConfigurator()) 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) { override fun runConfigurator(module: Module, file: PsiFile, configurator: KotlinWithGradleConfigurator, version: String, collector: NotificationMessageCollector) {
@@ -35,48 +35,48 @@ public class GradleConfigureProjectByChangingFileTestGenerated extends AbstractG
@RunWith(JUnit3RunnerWithInners.class) @RunWith(JUnit3RunnerWithInners.class)
public static class Gradle extends AbstractGradleConfigureProjectByChangingFileTest { public static class Gradle extends AbstractGradleConfigureProjectByChangingFileTest {
public void testAllFilesPresentInGradle() throws Exception { 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 { 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); doTestGradle(fileName);
} }
@TestMetadata("eapVersion_before.gradle") @TestMetadata("eapVersion")
public void testEapVersion() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("js_before.gradle") @TestMetadata("js")
public void testJs() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("m04Version_before.gradle") @TestMetadata("m04Version")
public void testM04Version() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("missedLibrary_before.gradle") @TestMetadata("missedLibrary")
public void testMissedLibrary() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("plugin_present_before.gradle") @TestMetadata("plugin_present")
public void testPlugin_present() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("rcVersion_before.gradle") @TestMetadata("rcVersion")
public void testRcVersion() throws Exception { 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); doTestGradle(fileName);
} }
} }
@@ -86,36 +86,36 @@ public class GradleConfigureProjectByChangingFileTestGenerated extends AbstractG
@RunWith(JUnit3RunnerWithInners.class) @RunWith(JUnit3RunnerWithInners.class)
public static class Gsk extends AbstractGradleConfigureProjectByChangingFileTest { public static class Gsk extends AbstractGradleConfigureProjectByChangingFileTest {
public void testAllFilesPresentInGsk() throws Exception { 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 { 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); doTestGradle(fileName);
} }
@TestMetadata("eapVersion_before.gradle.kts") @TestMetadata("eapVersion")
public void testEapVersion() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("helloWorld_before.gradle.kts") @TestMetadata("helloWorld")
public void testHelloWorld() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("missedLibrary_before.gradle.kts") @TestMetadata("missedLibrary")
public void testMissedLibrary() throws Exception { 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); doTestGradle(fileName);
} }
@TestMetadata("pluginPresent_before.gradle.kts") @TestMetadata("pluginPresent")
public void testPluginPresent() throws Exception { 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); doTestGradle(fileName);
} }
} }