From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1547 invoked by alias); 11 Mar 2006 20:27:22 -0000 Received: (qmail 1538 invoked by uid 22791); 11 Mar 2006 20:27:21 -0000 X-Spam-Check-By: sourceware.org Received: from mail.gmx.de (HELO mail.gmx.net) (213.165.64.20) by sourceware.org (qpsmtpd/0.31) with SMTP; Sat, 11 Mar 2006 20:27:19 +0000 Received: (qmail invoked by alias); 11 Mar 2006 20:27:17 -0000 Received: from 85-124-80-95.dynamic.xdsl-line.inode.at (EHLO yukon) [85.124.80.95] by mail.gmx.net (mp014) with SMTP; 11 Mar 2006 21:27:17 +0100 X-Authenticated: #9981821 Received: by yukon (Postfix, from userid 1000) id 04E1F55447B; Sat, 11 Mar 2006 21:29:04 +0100 (CET) Date: Sat, 11 Mar 2006 20:27:00 -0000 From: Edwin Steiner To: Mauve Patch List Subject: PATCH: fix gnu/testlet/java/lang/Class/security for very lazy VMs Message-ID: <20060311202904.GA17052@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.9i X-Y-GMX-Trusted: 0 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/msg00225.txt.bz2 Hello! The following patch fixes the gnu/testlet/java/lang/Class/security testlet for very lazy VMs like cacao. The problem was that these lines: // Make sure everything's fully resolved, or we'll be loading // classes during tests and the extra checks will make us fail. testClass.getDeclaredClasses(); testClass.getDeclaredMethods(); do not resolve enough because they only request non-inherited methods. When running this test, cacao causes a problem when resolving the parameters of the inherited method gnu.testlet.Testlet.test(Lgnu/testlet/TestHarness;)V cacao loads gnu/testlet/TestHarness only then. (Note that "testClass" in this testlet has a different class loader (on purpose, it seems), so this class has to be loaded from the classfile. Adding getClasses and getMethods solves this issue. -Edwin 2006-03-11 Edwin Steiner * gnu/testlet/java/lang/Class/security.java (test): Call getClasses() and getMethods() during preparation, so no classes have to be loaded (causing extra checks). Index: gnu/testlet/java/lang/Class/security.java =================================================================== RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/Class/security.java,v retrieving revision 1.3 diff -u -p -r1.3 security.java --- gnu/testlet/java/lang/Class/security.java 3 Feb 2006 10:21:46 -0000 1.3 +++ gnu/testlet/java/lang/Class/security.java 11 Mar 2006 20:22:53 -0000 @@ -49,6 +49,8 @@ public class security implements Testlet // classes during tests and the extra checks will make us fail. testClass.getDeclaredClasses(); testClass.getDeclaredMethods(); + testClass.getClasses(); + testClass.getMethods(); // we need to restrict access to some packages for some of the // checks to occur.