Generating inner suites when dir is not empty, but has not files related to current test.

This commit is contained in:
Evgeny Gerashchenko
2013-12-24 19:24:04 +04:00
parent 90ad65bff8
commit bd4073932b
3 changed files with 15 additions and 17 deletions
@@ -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<File>() {
@Override
public boolean process(File file) {
return file.isDirectory();
}
});
}
@NotNull
@Override
public Collection<TestMethodModel> getTestMethods() {
@@ -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);
@@ -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);