I think this is happening because we run the tests with main classes
on the bootclasspath and test classes on the normal classpath. I can
also reproduce the error on the RI with a simple test case if I run
with that classpath setup so I think it's probably behaving correctly.
Does that sound right?
Thanks,
Sian
2008/10/23 Sian January <[EMAIL PROTECTED]>:
> This also fails for me on the IBM VME, although like Nathan I can't
> see why. Do we have any other tests like this (i.e. tests in the same
> package but a different folder that are calling package-private
> methods)?
>
>
> 2008/10/23 Nathan Beyer <[EMAIL PROTECTED]>:
>> This code compiles perfectly, works fine on a Windows RI and Mac OS X,
>> but blows up when run on DRLVM. I haven't tried on the IBM VME.
>>
>> Any thoughts on why this would be an issue? Those methods shouldn't
>> have to be public, the test is in the same package, so it's
>> accessible. I've been trying to isolate it, but haven't hit it yet.
>>
>> -Nathan
>>
>> On Wed, Oct 22, 2008 at 1:38 AM, chunrong lai <[EMAIL PROTECTED]> wrote:
>>> I notice that the commit change some method descriptors:
>>>
>>> - public static final char toASCIIUpperCase(char c) {
>>> + static final char toASCIIUpperCase(char c) {
>>>
>>> - public static final byte toASCIIUpperCase(byte b) {
>>> + static final byte toASCIIUpperCase(byte b) {
>>>
>>> which breaks the
>>> org.apache.harmony.archive.util.UtilTest.testToASCIIUpperCaseByte
>>> and org.apache.harmony.archive.util.UtilTest.testToASCIIUpperCaseChar in
>>> integrity testing,
>>> with error message below, adding the "public" back just make the test cases
>>> pass:
>>>
>>> Test: testToASCIIUpperCaseByte Class:
>>> org.apache.harmony.archive.util.UtilTest java.lang.IllegalAccessError:
>>> org/apache/harmony/archive/util/Util.toASCIIUpperCase(B)B while resolving
>>> constant pool entry at index 71 in class
>>> org/apache/harmony/archive/util/UtilTest at
>>> java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
>>>
>>>
>>>
>>>
>>> On Sun, Oct 12, 2008 at 3:28 AM, <[EMAIL PROTECTED]> wrote:
>>>
>>>> Author: ndbeyer
>>>> Date: Sat Oct 11 12:28:08 2008
>>>> New Revision: 703715
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=703715&view=rev
>>>> Log:
>>>> remove unused methods and their tests
>>>>
>>>> Modified:
>>>>
>>>>
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/main/java/org/apache/harmony/archive/util/Util.java
>>>>
>>>>
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/archive/util/UtilTest.java
>>>>
>>>> Modified:
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/main/java/org/apache/harmony/archive/util/Util.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/org/apache/harmony/archive/util/Util.java?rev=703715&r1=703714&r2=703715&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/main/java/org/apache/harmony/archive/util/Util.java
>>>> (original)
>>>> +++
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/main/java/org/apache/harmony/archive/util/Util.java
>>>> Sat Oct 11 12:28:08 2008
>>>> @@ -42,40 +42,6 @@
>>>> throw new NullPointerException();
>>>> }
>>>>
>>>> - public static byte[] toASCIILowerCase(byte[] buf) {
>>>> - int len = buf.length;
>>>> - byte[] buffer = new byte[len];
>>>> - for (int i = 0; i < len; i++) {
>>>> - byte b = buf[i];
>>>> - if ('A' <= b && b <= 'Z') {
>>>> - buffer[i] = (byte) (b + ('a' - 'A'));
>>>> - } else {
>>>> - buffer[i] = b;
>>>> - }
>>>> - }
>>>> - return buffer;
>>>> - }
>>>> -
>>>> - public static final boolean equalsIgnoreCase(String s1, String s2) {
>>>> - if (s1 == s2) {
>>>> - return true;
>>>> - }
>>>> -
>>>> - if (s1 == null || s2 == null || s1.length() != s2.length()) {
>>>> - return false;
>>>> - }
>>>> -
>>>> - char c1, c2;
>>>> -
>>>> - for (int i = 0; i < s1.length(); i++) {
>>>> - if ((c1 = s1.charAt(i)) != (c2 = s2.charAt(i))
>>>> - && toASCIIUpperCase(c1) != toASCIIUpperCase(c2)) {
>>>> - return false;
>>>> - }
>>>> - }
>>>> - return true;
>>>> - }
>>>> -
>>>> public static final boolean equalsIgnoreCase(byte[] buf1, byte[] buf2)
>>>> {
>>>> if (buf1 == buf2) {
>>>> return true;
>>>> @@ -96,21 +62,14 @@
>>>> return true;
>>>> }
>>>>
>>>> - public static final char toASCIILowerCase(char c) {
>>>> - if ('A' <= c && c <= 'Z') {
>>>> - return (char) (c + ('a' - 'A'));
>>>> - }
>>>> - return c;
>>>> - }
>>>> -
>>>> - public static final char toASCIIUpperCase(char c) {
>>>> + static final char toASCIIUpperCase(char c) {
>>>> if ('a' <= c && c <= 'z') {
>>>> return (char) (c - ('a' - 'A'));
>>>> }
>>>> return c;
>>>> }
>>>>
>>>> - public static final byte toASCIIUpperCase(byte b) {
>>>> + static final byte toASCIIUpperCase(byte b) {
>>>> if ('a' <= b && b <= 'z') {
>>>> return (byte) (b - ('a' - 'A'));
>>>> }
>>>>
>>>> Modified:
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/archive/util/UtilTest.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/archive/util/UtilTest.java?rev=703715&r1=703714&r2=703715&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/archive/util/UtilTest.java
>>>> (original)
>>>> +++
>>>> harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/archive/util/UtilTest.java
>>>> Sat Oct 11 12:28:08 2008
>>>> @@ -53,20 +53,6 @@
>>>> }
>>>> }
>>>>
>>>> - private void assertEqualsBytes(byte[] expected, byte[] actual) {
>>>> - assertEquals(expected.length, actual.length);
>>>> - for (int i = 0; i < expected.length; i++) {
>>>> - assertEquals(expected[i], actual[i]);
>>>> - }
>>>> - }
>>>> -
>>>> - public void testToASCIILowerCase() {
>>>> - assertEqualsBytes(ASCII_ALPHABET_LC_BYTES, Util
>>>> - .toASCIILowerCase(ASCII_ALPHABET_UC_BYTES));
>>>> - assertEqualsBytes(ASCII_ALPHABET_LC_BYTES, Util
>>>> - .toASCIILowerCase(ASCII_ALPHABET_LC_BYTES));
>>>> - }
>>>> -
>>>> public void testToASCIIUpperCaseByte() {
>>>> for (int i = 0; i < ASCII_ALPHABET_LC_BYTES.length; i++) {
>>>> assertEquals(ASCII_ALPHABET_UC_BYTES[i], Util
>>>> @@ -78,17 +64,6 @@
>>>> }
>>>> }
>>>>
>>>> - public void testToASCIILowerCaseChar() {
>>>> - for (int i = 0; i < ASCII_ALPHABET_UC.length(); i++) {
>>>> - assertEquals(ASCII_ALPHABET_LC.charAt(i), Util
>>>> - .toASCIILowerCase(ASCII_ALPHABET_UC.charAt(i)));
>>>> - }
>>>> - for (int i = 0; i < ASCII_ALPHABET_LC.length(); i++) {
>>>> - assertEquals(ASCII_ALPHABET_LC.charAt(i), Util
>>>> - .toASCIILowerCase(ASCII_ALPHABET_LC.charAt(i)));
>>>> - }
>>>> - }
>>>> -
>>>> public void testToASCIIUpperCaseChar() {
>>>> for (int i = 0; i < ASCII_ALPHABET_LC.length(); i++) {
>>>> assertEquals(ASCII_ALPHABET_UC.charAt(i), Util
>>>> @@ -100,14 +75,6 @@
>>>> }
>>>> }
>>>>
>>>> - public void testEqualsIgnoreCaseStringString() {
>>>> - final String s1 = ASCII_ALPHABET_LC;
>>>> - final String s2 = ASCII_ALPHABET_UC;
>>>> - assertTrue(Util.equalsIgnoreCase(s1, s1));
>>>> - assertTrue(Util.equalsIgnoreCase(s1, s2));
>>>> - assertTrue(Util.equalsIgnoreCase(s2, s2));
>>>> - }
>>>> -
>>>> public void testEqualsIgnoreCaseByteArrayByteArray() {
>>>> assertTrue(Util.equalsIgnoreCase(ASCII_ALPHABET_LC_BYTES,
>>>> ASCII_ALPHABET_LC_BYTES));
>>>>
>>>>
>>>>
>>>
>>
>
>
>
> --
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
>
--
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU