Review request: TEST_BUG: test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java fails
Mandy Chung
mandy.chung at oracle.com
Wed Jun 16 16:36:37 UTC 2010
Alan Bateman wrote:
> Mandy Chung wrote:
>> 6961502: TEST_BUG:
>> test/java/lang/ClassLoader/defineClass/DefineClassByteBuffer.java fails
>>
>> Webrev at:
>> http://cr.openjdk.java.net/~mchung/6961502/webrev.00/
>>
>> This test intends to test various cases of passing
>> java.nio.ByteBuffers to defineClass(). However, it never tests what
>> it is intended for. In othervm mode, the system class loader, the
>> parent of DummyClassLoader, successfully finds TestClass and defines
>> it before it gets to the DummyClassLoader to do the job.
>>
>> This test fails in samevm mode since jtreg URLClassLoader to load
>> classes for the test.classes directory is not in the
>> DummyClassLoader's delegation hierarchy.
>>
>> Thanks
>> Mandy
> Good catch! The changes looks okay to me but I have a few comments:
>
> 1. Would it be better to set "defined" when called with a class name
> of "TestClass"?
I removed the "defined" variable and instead check if its class loader
matches what is expected. I also found that the TestClass is loaded by
the system class loader in othervm mode and I fixed that as well.
> 2. It might be nicer to have an accessor method for defined [eg: if
> (cld[i].defineCalled() ].
> 3. It might be nicer to use flip to flip the buffer.
> 4. While you are there, it might be good to eliminate the raw types
> (change Class to Class<?> etc.)
>
I cleaned up the test and the revised webrev is at:
http://cr.openjdk.java.net/~mchung/6961502/webrev.01/
Mandy
More information about the core-libs-dev
mailing list