From bd4073932b7b024b56f5d4ab5baab15496a53027 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 24 Dec 2013 19:24:04 +0400 Subject: [PATCH] Generating inner suites when dir is not empty, but has not files related to current test. --- .../tests/generator/SimpleTestClassModel.java | 16 +++++++++++++--- .../JavaToKotlinConverterBasicTestGenerated.java | 8 +------- ...JavaToKotlinConverterPluginTestGenerated.java | 8 +------- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/generators/src/org/jetbrains/jet/generators/tests/generator/SimpleTestClassModel.java b/generators/src/org/jetbrains/jet/generators/tests/generator/SimpleTestClassModel.java index d98f0ae449c..797d17f80bf 100644 --- a/generators/src/org/jetbrains/jet/generators/tests/generator/SimpleTestClassModel.java +++ b/generators/src/org/jetbrains/jet/generators/tests/generator/SimpleTestClassModel.java @@ -17,7 +17,9 @@ package org.jetbrains.jet.generators.tests.generator; import com.google.common.collect.Lists; +import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.util.Processor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.utils.Printer; @@ -66,9 +68,8 @@ public class SimpleTestClassModel implements TestClassModel { if (files != null) { for (File file : files) { if (file.isDirectory()) { - SimpleTestClassModel childModel = new SimpleTestClassModel(file, true, filenamePattern, doTestMethodName); - if (!childModel.isEmpty()) { - children.add(childModel); + if (dirHasFilesInside(file)) { + children.add(new SimpleTestClassModel(file, true, filenamePattern, doTestMethodName)); } } } @@ -79,6 +80,15 @@ public class SimpleTestClassModel implements TestClassModel { return innerTestClasses; } + private static boolean dirHasFilesInside(@NotNull File dir) { + return !FileUtil.processFilesRecursively(dir, new Processor() { + @Override + public boolean process(File file) { + return file.isDirectory(); + } + }); + } + @NotNull @Override public Collection getTestMethods() { diff --git a/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterBasicTestGenerated.java b/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterBasicTestGenerated.java index d556a085c34..ab79545acf4 100644 --- a/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterBasicTestGenerated.java +++ b/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterBasicTestGenerated.java @@ -1619,7 +1619,6 @@ public class JavaToKotlinConverterBasicTestGenerated extends AbstractJavaToKotli } @TestMetadata("j2k/tests/testData/ast/misc") - @InnerTestClasses({}) public static class Misc extends AbstractJavaToKotlinConverterBasicTest { public void testAllFilesPresentInMisc() throws Exception { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("j2k/tests/testData/ast/misc"), Pattern.compile("^(.+)\\.java$"), true); @@ -1655,11 +1654,6 @@ public class JavaToKotlinConverterBasicTestGenerated extends AbstractJavaToKotli doTest("j2k/tests/testData/ast/misc/packageWithStaticImports.java"); } - public static Test innerSuite() { - TestSuite suite = new TestSuite("Misc"); - suite.addTestSuite(Misc.class); - return suite; - } } @TestMetadata("j2k/tests/testData/ast/newClassExpression") @@ -2333,7 +2327,7 @@ public class JavaToKotlinConverterBasicTestGenerated extends AbstractJavaToKotli suite.addTestSuite(LiteralExpression.class); suite.addTestSuite(LocalVariable.class); suite.addTestSuite(MethodCallExpression.class); - suite.addTest(Misc.innerSuite()); + suite.addTestSuite(Misc.class); suite.addTestSuite(NewClassExpression.class); suite.addTestSuite(ObjectLiteral.class); suite.addTestSuite(OutProjectionType.class); diff --git a/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterPluginTestGenerated.java b/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterPluginTestGenerated.java index 7ae7dd71207..0a91fd7d127 100644 --- a/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterPluginTestGenerated.java +++ b/j2k/tests/test/org/jetbrains/jet/j2k/test/JavaToKotlinConverterPluginTestGenerated.java @@ -1619,7 +1619,6 @@ public class JavaToKotlinConverterPluginTestGenerated extends AbstractJavaToKotl } @TestMetadata("j2k/tests/testData/ast/misc") - @InnerTestClasses({}) public static class Misc extends AbstractJavaToKotlinConverterPluginTest { public void testAllFilesPresentInMisc() throws Exception { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("j2k/tests/testData/ast/misc"), Pattern.compile("^(.+)\\.java$"), true); @@ -1655,11 +1654,6 @@ public class JavaToKotlinConverterPluginTestGenerated extends AbstractJavaToKotl doTest("j2k/tests/testData/ast/misc/packageWithStaticImports.java"); } - public static Test innerSuite() { - TestSuite suite = new TestSuite("Misc"); - suite.addTestSuite(Misc.class); - return suite; - } } @TestMetadata("j2k/tests/testData/ast/newClassExpression") @@ -2333,7 +2327,7 @@ public class JavaToKotlinConverterPluginTestGenerated extends AbstractJavaToKotl suite.addTestSuite(LiteralExpression.class); suite.addTestSuite(LocalVariable.class); suite.addTestSuite(MethodCallExpression.class); - suite.addTest(Misc.innerSuite()); + suite.addTestSuite(Misc.class); suite.addTestSuite(NewClassExpression.class); suite.addTestSuite(ObjectLiteral.class); suite.addTestSuite(OutProjectionType.class);