From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5228 invoked by alias); 5 Jun 2006 17:02:46 -0000 Received: (qmail 4821 invoked by uid 22791); 5 Jun 2006 17:02:42 -0000 X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 05 Jun 2006 17:02:38 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id k55H2apJ028201 for ; Mon, 5 Jun 2006 13:02:36 -0400 Received: from pobox.toronto.redhat.com (pobox.toronto.redhat.com [172.16.14.4]) by int-mx1.corp.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id k55H2aSD002943 for ; Mon, 5 Jun 2006 13:02:36 -0400 Received: from [172.16.14.37] (toadstool.toronto.redhat.com [172.16.14.37]) by pobox.toronto.redhat.com (8.12.8/8.12.8) with ESMTP id k55H2Z5C009478; Mon, 5 Jun 2006 13:02:35 -0400 Message-ID: <448463AB.1000302@redhat.com> Date: Mon, 05 Jun 2006 17:02:00 -0000 From: Kyle Galloway User-Agent: Thunderbird 1.5.0.2 (X11/20060501) MIME-Version: 1.0 To: Kyle Galloway CC: mauve-patches@sourceware.org Subject: Re: JDWP filter test cases References: <448462CD.5060405@redhat.com> In-Reply-To: <448462CD.5060405@redhat.com> Content-Type: multipart/mixed; boundary="------------050600080803050206090809" X-IsSubscribed: yes Mailing-List: contact mauve-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-patches-owner@sourceware.org X-SW-Source: 2006/txt/msg00364.txt.bz2 This is a multi-part message in MIME format. --------------050600080803050206090809 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 206 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. --------------050600080803050206090809 Content-Type: text/x-patch; name="JDWP-tests.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="JDWP-tests.patch" Content-length: 8033 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 ClassExcludeFilter 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 ClassMatchFilter 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 ClassMatchFilter 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 ClassMatchFilter 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 ClassMatchFilter class + * + * @param harness the TestHarness to use + */ + public void test(TestHarness harness) + { + testConstructor(harness); + testMatches(harness); + } + +} --------------050600080803050206090809--