diff options
Diffstat (limited to 'src/tests/AutoTestSuite.java')
-rw-r--r-- | src/tests/AutoTestSuite.java | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/src/tests/AutoTestSuite.java b/src/tests/AutoTestSuite.java deleted file mode 100644 index 894a365..0000000 --- a/src/tests/AutoTestSuite.java +++ /dev/null @@ -1,121 +0,0 @@ -import java.lang.reflect.Modifier; - -import java.io.File; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import junit.framework.TestSuite; -import junit.framework.TestCase; -import junit.framework.Test; - -public class AutoTestSuite extends TestSuite { - private String testPackage; - private Set<String> testCases; - private boolean testAll; - private File root; - - public AutoTestSuite() { - this.testPackage = System.getProperty("test.package"); - String tcase = System.getProperty("test.case"); - if (tcase != null && tcase.length() > 0) { - this.testCases = new HashSet(Arrays.asList( - tcase.split("[,:]") - )); - } - else { - this.testCases = null; - } - this.testAll = System.getProperty("test.all") != null; - this.root = new File(System.getProperty("test.root")); - - Set<Class> tests = new HashSet(); - - findClasses("", root, tests); - - Iterator<Class> i = tests.iterator(); - - while(i.hasNext()) { - addTestSuite(i.next()); - } - } - - public void addTestSuite(Class clazz) { - if (testPackage != null) { - String name = clazz.getPackage().getName(); - if (!name.startsWith(testPackage)) { - /* - System.out.println("Skipping test in package '" + - name + "' - does not start with '" + - testPackage + "'"); - */ - return; - } - } - if (testCases != null) { - String name = clazz.getName(); - name = name.substring(name.lastIndexOf('.') + 1); - if (!testCases.contains(name)) { - /* - System.out.println("Skipping test in class '" + - name + "' - does not start with '" + - testCases + "'"); - */ - return; - } - } - /* - if ( - testCases == null && - testPackage == null && - !testAll && - Optional.class.isAssignableFrom(clazz) - ) - { - return; - } - */ - System.out.println("Adding test class '" + clazz + "'"); - super.addTestSuite(clazz); - } - - public static Test suite() { - return new AutoTestSuite(); - } - - private final void findClasses(String pkg, File root, Set<Class> result) { - File[] children = root.listFiles(); - for(int i = 0; i<children.length; i++) { - File child = children[i]; - if(child.isDirectory()) { - findClasses( - pkg + child.getName() + ".", - child, - result - ); - } else if(child.isFile()) { - String name = child.getName(); - // System.out.println("Checking: " + pkg + name); - if(name.endsWith(".class") && name.indexOf('$') == -1) { - try { - Class test = Class.forName(pkg + - name.substring(0,name.length() - 6)); - int modifiers = test.getModifiers(); - if( - (modifiers & Modifier.ABSTRACT) > 0 || - (modifiers & Modifier.INTERFACE) > 0 || - !TestCase.class.isAssignableFrom(test) || - TestSuite.class.isAssignableFrom(test) - ) - continue; - result.add(test); - } catch (ClassNotFoundException cnfe) { - cnfe.printStackTrace(); - } - } - } - } - } -} |