* Re: JDWP filter test cases
2006-06-05 16:59 JDWP filter test cases Kyle Galloway
@ 2006-06-05 17:02 ` Kyle Galloway
2006-06-05 17:05 ` Mark Wielaard
2006-06-05 20:56 ` Tom Tromey
2 siblings, 0 replies; 6+ messages in thread
From: Kyle Galloway @ 2006-06-05 17:02 UTC (permalink / raw)
To: Kyle Galloway; +Cc: mauve-patches
[-- Attachment #1: Type: text/plain, Size: 206 bytes --]
Kyle Galloway wrote:
> I have coded up some test cases for two of the JDWP filters(more to
> come). I would appreciate it if someone would review and commit.
>
> Thanks,
> Kyle
Woops, here are the files.
[-- Attachment #2: JDWP-tests.patch --]
[-- Type: text/x-patch, Size: 8033 bytes --]
Index: gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassExcludeFilter.java
===================================================================
RCS file: gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassExcludeFilter.java
diff -N gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassExcludeFilter.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassExcludeFilter.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,98 @@
+/* TestOfClassExcludeFilter.java -- test of ClassExcludeFilter
+
+Written by Kyle Galloway (kgallowa@redhat.com)
+
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+package gnu.testlet.gnu.classpath.jdwp.events.filters;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import gnu.classpath.jdwp.event.filters.ClassExcludeFilter;
+import gnu.classpath.jdwp.event.ClassPrepareEvent;
+import gnu.classpath.jdwp.exception.InvalidStringException;
+
+public class TestOfClassExcludeFilter extends TestOfClassMatchFilter
+ implements Testlet
+{
+ /**
+ * Tests the <code>ClassExcludeFilter</code> method
+ * matches
+ *
+ * @param harness the TestHarness to use
+ */
+ public void testMatches(TestHarness harness)
+ {
+ harness.checkPoint("matches method");
+ String[] validStrings = {"java.lang.Integer", "*nteger",
+ "java.lang.*", "*"};
+ String[] invalidStrings = {"Float", "Double", "AWT"};
+
+ ClassExcludeFilter testCEF = null;
+
+
+ //create an event to use as a test
+ ClassPrepareEvent testEvent
+ = new ClassPrepareEvent(Thread.currentThread(),
+ Integer.class, 0);
+ //check to see that the valid strings match the class name
+ for (int i = 0; i < validStrings.length; i++)
+ {
+ try
+ {
+ testCEF = new ClassExcludeFilter(validStrings[i]);
+ harness.check(testCEF.matches(testEvent), false, "for string: "
+ + validStrings[i]);
+ }
+ catch(InvalidStringException ex)
+ {
+ harness.check(false, "String: " + validStrings[i] + " threw "
+ + ex);
+ }
+ }
+ //check to see that the invalid strings don't match the class name
+ for (int i = 0; i < invalidStrings.length; i++)
+ {
+ try
+ {
+ testCEF = new ClassExcludeFilter(invalidStrings[i]);
+ harness.check(testCEF.matches(testEvent), true, "for string: "
+ + invalidStrings[i]);
+ }
+ catch(InvalidStringException ex)
+ {
+ harness.check(false, "String: " + validStrings[i] + " threw "
+ + ex);
+ }
+ }
+ }
+
+ /**
+ * Test the <code>ClassMatchFilter</code> class
+ *
+ * @param harness the TestHarness to use
+ */
+ public void test(TestHarness harness)
+ {
+ testConstructor(harness);
+ testMatches(harness);
+ }
+}
Index: gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassMatchFilter.java
===================================================================
RCS file: gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassMatchFilter.java
diff -N gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassMatchFilter.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/gnu/classpath/jdwp/events/filters/TestOfClassMatchFilter.java 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,148 @@
+/* TestOfClassMatchFilter.java -- test of ClassMatchFilter
+
+Written by Kyle Galloway (kgallowa@redhat.com)
+
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+package gnu.testlet.gnu.classpath.jdwp.events.filters;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import gnu.classpath.jdwp.event.filters.ClassMatchFilter;
+import gnu.classpath.jdwp.event.ClassPrepareEvent;
+import gnu.classpath.jdwp.exception.InvalidStringException;
+
+/**
+ * @author Kyle Galloway (kgallowa@redhat.com)
+ *
+ */
+public class TestOfClassMatchFilter implements Testlet
+{
+
+ /**
+ * Tests the <code>ClassMatchFilter</code> constructor
+ *
+ * @param harness the TestHarness to use
+ */
+ public void testConstructor(TestHarness harness)
+ {
+ harness.checkPoint("Constructor");
+
+ ClassMatchFilter testCMF = null;
+
+ String[] validStrings = {"SomeString", "", "*omeString",
+ "SomeStr*"};
+ String[] invalidStrings = {"Som*String", "SomeStri*g"};
+
+ //check to see if the valid strings don't throw exceptions
+ for (int i = 0; i < validStrings.length; i++)
+ {
+ try
+ {
+ testCMF = new ClassMatchFilter(validStrings[i]);
+ harness.check(true);
+ }
+ catch(InvalidStringException ex)
+ {
+ harness.check(false, "constructor threw exception for valid "
+ + "string: " + validStrings[i]);
+ }
+ }
+
+ //check that invalid strings throw exceptions
+ for (int i = 0; i < invalidStrings.length; i++)
+ {
+ try
+ {
+ testCMF = new ClassMatchFilter(invalidStrings[i]);
+ harness.check(false, "constructor didn't throw exception for "
+ + "invalid string: " + invalidStrings[i]);
+ }
+ catch(InvalidStringException ex)
+ {
+ harness.check(true);
+ }
+ }
+ }
+
+ /**
+ * Tests the <code>ClassMatchFilter</code> method
+ * matches
+ *
+ * @param harness the TestHarness to use
+ */
+ public void testMatches(TestHarness harness)
+ {
+ harness.checkPoint("matches method");
+ String[] validStrings = {"java.lang.Integer", "*nteger",
+ "java.lang.*", "*"};
+ String[] invalidStrings = {"Float", "Double", "AWT"};
+
+ ClassMatchFilter testCMF = null;
+
+ //create an event to use as a test
+ ClassPrepareEvent testEvent
+ = new ClassPrepareEvent(Thread.currentThread(),
+ Integer.class, 0);
+ //check to see that the valid strings match the class name
+ for (int i = 0; i < validStrings.length; i++)
+ {
+ try
+ {
+ testCMF = new ClassMatchFilter(validStrings[i]);
+ harness.check(testCMF.matches(testEvent), true, "for string: "
+ + validStrings[i]);
+ }
+ catch(InvalidStringException ex)
+ {
+ harness.check(false, "String: " + validStrings[i] + " threw " +
+ ex);
+ }
+ }
+ //check to see that the invalid strings don't match the class name
+ for (int i = 0; i < invalidStrings.length; i++)
+ {
+ try
+ {
+ testCMF = new ClassMatchFilter(invalidStrings[i]);
+ harness.check(testCMF.matches(testEvent), false, "for string: "
+ + invalidStrings[i]);
+ }
+ catch(InvalidStringException ex)
+ {
+ harness.check(false, "String: " + validStrings[i] + " threw " +
+ ex);
+ }
+ }
+ }
+
+ /**
+ * Test the <code>ClassMatchFilter</code> class
+ *
+ * @param harness the TestHarness to use
+ */
+ public void test(TestHarness harness)
+ {
+ testConstructor(harness);
+ testMatches(harness);
+ }
+
+}
^ permalink raw reply [flat|nested] 6+ messages in thread