Return-Path: X-Original-To: apmail-directory-commits-archive@www.apache.org Delivered-To: apmail-directory-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 824697F89 for ; Wed, 9 Nov 2011 11:35:46 +0000 (UTC) Received: (qmail 20978 invoked by uid 500); 9 Nov 2011 11:35:46 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 20925 invoked by uid 500); 9 Nov 2011 11:35:46 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 20918 invoked by uid 99); 9 Nov 2011 11:35:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Nov 2011 11:35:46 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 09 Nov 2011 11:35:45 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 3F98223889BB for ; Wed, 9 Nov 2011 11:35:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1199700 - /directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/AbstractKerberosITest.java Date: Wed, 09 Nov 2011 11:35:25 -0000 To: commits@directory.apache.org From: elecharny@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111109113525.3F98223889BB@eris.apache.org> Author: elecharny Date: Wed Nov 9 11:35:24 2011 New Revision: 1199700 URL: http://svn.apache.org/viewvc?rev=1199700&view=rev Log: Fix a failing test with the latest JVM version on mac (1.6.0_29). This is absolutely ugly : the name of a private field for the sun.security.krb5.KrbKdcReq class has changed from udpPrefLimit to defaultUdpPrefLimit, leading to a NoSuchFieldException when we try to fetch this field to change its value. I don't know why we try to modify this value, but in any case, the resulting failure is just expected. I don't know if it's possible to avoid such usage of reflection o get the same result, but if so, we must absolutely avoid accessing inner fields of classes we don't own ... Modified: directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/AbstractKerberosITest.java Modified: directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/AbstractKerberosITest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/AbstractKerberosITest.java?rev=1199700&r1=1199699&r2=1199700&view=diff ============================================================================== --- directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/AbstractKerberosITest.java (original) +++ directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/AbstractKerberosITest.java Wed Nov 9 11:35:24 2011 @@ -25,6 +25,7 @@ import static org.junit.Assert.assertEqu import java.io.File; import java.io.IOException; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.Collections; import javax.security.auth.Subject; @@ -210,7 +211,19 @@ public class AbstractKerberosITest exten { String clazz = "sun.security.krb5.KrbKdcReq"; Class krbKdcReqClass = Class.forName( clazz ); - Field udpPrefLimitField = krbKdcReqClass.getDeclaredField( "udpPrefLimit" ); + + // Absolutely ugly fix to get this method working with the latest JVM on Mac (1.6.0_29) + Field udpPrefLimitField = null; + + try + { + udpPrefLimitField = krbKdcReqClass.getDeclaredField( "udpPrefLimit" ); + } + catch ( NoSuchFieldException nsfe ) + { + udpPrefLimitField = krbKdcReqClass.getDeclaredField( "defaultUdpPrefLimit" ); + } + udpPrefLimitField.setAccessible( true ); return udpPrefLimitField; }