From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28465 invoked by alias); 14 Jun 2006 20:03:17 -0000 Received: (qmail 28457 invoked by uid 22791); 14 Jun 2006 20:03:16 -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:03:12 +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 k5EK3AWb008766 for ; Wed, 14 Jun 2006 16:03:10 -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 k5EK3A1R016390 for ; Wed, 14 Jun 2006 16:03:10 -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 k5EK39ve012421 for ; Wed, 14 Jun 2006 16:03:09 -0400 Message-ID: <44906B7D.3060104@redhat.com> Date: Wed, 14 Jun 2006 20:03: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 TestOfClassExcludeFilter Content-Type: multipart/mixed; boundary="------------020809050105080101010204" 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/msg00401.txt.bz2 This is a multi-part message in MIME format. --------------020809050105080101010204 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 115 Test for ClassExcludeFilter from JDWP. Requesting approval, and commit since I don't have access. Thanks, Kyle --------------020809050105080101010204 Content-Type: text/x-patch; name="patch.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch.diff" Content-length: 4597 Index: gnu/classpath/jdwp/event/filters/TestOfClassExcludeFilter.java =================================================================== RCS file: gnu/classpath/jdwp/event/filters/TestOfClassExcludeFilter.java diff -N gnu/classpath/jdwp/event/filters/TestOfClassExcludeFilter.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/classpath/jdwp/event/filters/TestOfClassExcludeFilter.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,130 @@ +/* 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. + + */ + +// Tags: JDK 1.4 +package gnu.testlet.gnu.classpath.jdwp.event.filters; + +import gnu.classpath.jdwp.event.ClassPrepareEvent; +import gnu.classpath.jdwp.event.filters.ClassExcludeFilter; +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 ClassExcludeFilter + * from JDWP. + */ +public class TestOfClassExcludeFilter 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 ClassExcludeFilter from + * + * @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, "valid 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, "valid String: " + validStrings[i] + + " threw " + ex); + } + } + } + + /** + * Test the ClassMatchFilter class + * + * @param harness the TestHarness to use + */ + public void test(TestHarness harness) { + testConstructor(harness); + testMatches(harness); + } +} --------------020809050105080101010204--