From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4864 invoked by alias); 14 Jun 2006 20:12:36 -0000 Received: (qmail 4855 invoked by uid 22791); 14 Jun 2006 20:12:35 -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; Wed, 14 Jun 2006 20:12:32 +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 k5EKCUKM012260 for ; Wed, 14 Jun 2006 16:12:30 -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 k5EKCUfp018866 for ; Wed, 14 Jun 2006 16:12:30 -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 k5EKCTve012983 for ; Wed, 14 Jun 2006 16:12:29 -0400 Message-ID: <44906DAD.8040209@redhat.com> Date: Wed, 14 Jun 2006 20:12:00 -0000 From: Kyle Galloway User-Agent: Thunderbird 1.5.0.2 (X11/20060501) MIME-Version: 1.0 To: mauve-patches@sources.redhat.com Subject: RFA JDWP TestOfClassMatchFilter Content-Type: multipart/mixed; boundary="------------050803000101000803010507" 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/msg00402.txt.bz2 This is a multi-part message in MIME format. --------------050803000101000803010507 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 113 Test for ClassMatchFilter from JDWP. Requesting approval, and commit since I don't have access. Thanks, Kyle --------------050803000101000803010507 Content-Type: text/x-patch; name="patch.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch.diff" Content-length: 4580 Index: gnu/testlet/gnu/classpath/jdwp/event/filters/TestOfClassMatchFilter.java =================================================================== RCS file: gnu/testlet/gnu/classpath/jdwp/event/filters/TestOfClassMatchFilter.java diff -N gnu/testlet/gnu/classpath/jdwp/event/filters/TestOfClassMatchFilter.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/testlet/gnu/classpath/jdwp/event/filters/TestOfClassMatchFilter.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,130 @@ +/* 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. + + */ + +// Tags: JDK1.4 + +package gnu.testlet.gnu.classpath.jdwp.event.filters; + +import gnu.classpath.jdwp.event.ClassPrepareEvent; +import gnu.classpath.jdwp.event.filters.ClassMatchFilter; +import gnu.classpath.jdwp.exception.InvalidStringException; + +import gnu.testlet.TestHarness; +import gnu.testlet.Testlet; + +/** + * @author Kyle Galloway (kgallowa@redhat.com) + * + * This class performs a test of the ClassMatchFilter + * from JDWP. + */ +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 matching 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, "valid String: " + validStrings[i] + + " threw " + ex); + } + } + + // check to see that the nonmatching 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, "valid String: " + invalidStrings[i] + + " threw " + ex); + } + } + } + + /** + * Test the ClassMatchFilter class + * + * @param harness the TestHarness to use + */ + public void test(TestHarness harness) { + testConstructor(harness); + testMatches(harness); + } + +} --------------050803000101000803010507--