RFR(M): JDK-8165805 - [TESTBUG] CDS needs to support JVMTI CFLH - test development

Mikhailo Seledtsov mikhailo.seledtsov at oracle.com
Mon Sep 12 20:22:48 UTC 2016


Hi Ioi,

  Thank you for review. Please see my comments inline:

On 9/10/16, 2:15 AM, Ioi Lam wrote:
> Hi Misha,
>
> These 3 files aren't specific to CDS.
>
> test/runtime/SharedArchiveFile/serviceability/TransformUtil.java
> test/runtime/SharedArchiveFile/serviceability/TransformerAgent.java
> test/runtime/SharedArchiveFile/serviceability/TransformerAgent.mf
>
> Maybe they should be moved tohotspot/test/testlibrary/jvmti, i.e., in 
> the same directory as libSimpleClassFileLoadHook.c? (The .c file is a 
> a native agent where your new code implements a Java agent).
Thank you for this suggestion. I agree, it makes sense.
>
> TransformRelatedClasses.java
>
>     In the runTest() method, the "// create an archive" part is executed
>     for every test case. However, it seems the same archive can be used
>     for all 4 test cases, so for efficiency it's better to create the
>     archive only one time (instead of 4).
Good catch. Thank you. I will fix this.
>
> The rest of the code looks good.

I will make the changes and post an updated webrev.

Thank you,
Misha
>
> Thanks!
> - Ioi
>
> On 9/9/16 7:31 PM, Mikhailo Seledtsov wrote:
>> Please review the tests that accompany the changes for
>>     "JDK-8078644 - CDS needs to support JVMTI CFLH"
>>
>>     The tests include several test cases that are produced by 
>> combination
>>     of transforming related classes: super/sub class and 
>> interface/implementor.
>>     The classes reside in CDS archive. Tests check to ensure that 
>> correct
>>     transformation is performed, classes are loaded from the archive 
>> only when appropriate,
>>     and that test process using the archive completes w/o 
>> errors/crashes.
>>
>>
>>     Details:
>>
>>     The main class is TransformRelatedClasses.java; start review with 
>> this class.
>>     Other classes are:
>>       - TransformSuperAndSubClasses.java, 
>> TransformInterfaceAndImplementor.java
>>         the "actual tests", but really just test headers calling into 
>> TransformRelatedClasses.java
>>
>>       - TransformTestCommon.java - common methods for transformation 
>> tests
>>
>>       - TestEntry.java - an entry into combinatorial test table 
>> representing a single test case
>>
>>       - CDSTestUtils.java, TransformUtil.java - utility classes that 
>> are common  CDS
>>         tests
>>
>>       - TransformerAgent.java - agent that performs transformation 
>> (comes with .mf file)
>>
>>
>>     JBS: https://bugs.openjdk.java.net/browse/JDK-8165805
>>     Webrev: http://cr.openjdk.java.net/~mseledtsov/8165805.00/
>>     Testing:
>>         Ran these tests on a standard set of platforms thru automated 
>> test system.
>>
>> Thank you,
>> Misha
>>
>


More information about the hotspot-runtime-dev mailing list