Update of /cvsroot/clirr/clirr/src/test/net/sf/clirr/checks
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24700
Modified Files:
AbstractCheckTestCase.java
Log Message:
use class selector to make unit tests more robust
contributed by Simon Kitching
Index: AbstractCheckTestCase.java
===================================================================
RCS file: /cvsroot/clirr/clirr/src/test/net/sf/clirr/checks/AbstractCheckTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractCheckTestCase.java 5 Oct 2003 17:54:35 -0000 1.1
+++ AbstractCheckTestCase.java 5 Jun 2004 16:29:24 -0000 1.2
@@ -9,6 +9,7 @@
import net.sf.clirr.CheckerFactory;
import net.sf.clirr.event.ApiDifference;
import net.sf.clirr.framework.ClassChangeCheck;
+import net.sf.clirr.framework.ClassSelector;
import org.apache.bcel.util.ClassSet;
/**
@@ -48,11 +49,35 @@
{
TestDiffListener tdl = new TestDiffListener();
Checker checker = CheckerFactory.createChecker(createCheck(tdl));
- checker.reportDiffs(getBaseLine(), getCurrent(), new URLClassLoader(new URL[]{}), new URLClassLoader(new URL[]{}));
+ ClassSelector classSelector = createClassSelector();
+
+ checker.reportDiffs(
+ getBaseLine(), getCurrent(),
+ new URLClassLoader(new URL[]{}),
+ new URLClassLoader(new URL[]{}),
+ classSelector);
+
tdl.checkExpected(expected);
}
/**
+ * Creates an object which selects the appropriate classes from the
+ * test jars for this test.
+ * <p>
+ * This base implementation returns a selector which selects all classes
+ * in the base "testlib" package (but no sub-packages). Tests which wish
+ * to select different classes from the test jars should override this
+ * method.
+ */
+ protected ClassSelector createClassSelector()
+ {
+ // only check classes in the base "testlib" package of the jars
+ ClassSelector classSelector = new ClassSelector(ClassSelector.MODE_IF);
+ classSelector.addPackage("testlib");
+ return classSelector;
+ }
+
+ /**
* Creates a check and sets it up so ApiDifferences are reported to the test diff listener.
*
* @param tdl the test diff listener that records the recognized api changes.
|