RFR (M) 8209946 [TESTBUG] CDS tests should use "@run driver"

Ioi Lam ioi.lam at oracle.com
Mon Oct 1 23:28:56 UTC 2018


Hi Jiangli,

Thanks for the review.

The main reason for doing this change to make the CDS tests run faster 
when options such as -Xcomp is specified:

jtreg -vmoption:-Xcomp HelloTest.java


Before:
----------messages:(6/239)----------
command: main HelloTest
reason: User specified action: run main HelloTest
Mode: agentvm
Agent id: 1
Additional exports to unnamed modules from @modules: 
java.base/jdk.internal.misc jdk.jartool/sun.tools.jar
elapsed time (seconds): 10.208

After:
----------messages:(6/242)----------
command: driver HelloTest
reason: User specified action: run driver HelloTest
Mode: agentvm
Agent id: 1
Additional exports to unnamed modules from @modules: 
java.base/jdk.internal.misc jdk.jartool/sun.tools.jar
elapsed time (seconds): 3.973


I verified from the HelloTest.jtr file that -Xcomp is passed to all the 
child processes.

http://cr.openjdk.java.net/~iklam/jdk12/8209946-cds-test-use-run-driver.v01/HelloTest.jtr.before
http://cr.openjdk.java.net/~iklam/jdk12/8209946-cds-test-use-run-driver.v01/HelloTest.jtr.after


For more info on "@run driver", see "4.27 Can I (and should I) write 
shell tests?" in http://openjdk.java.net/jtreg/faq.html

Thanks
- Ioi




On 10/1/18 1:50 PM, Jiangli Zhou wrote:
> Hi Ioi,
>
> The change seems ok. Could you please give some details on the benefit 
> of using @run driver? Could you also please verify it does not affect 
> the jtreg options passed to the dump & run processes for each 
> individual test?
>
> Thanks,
>
> Jiangli
>
>
> On 10/1/18 10:18 AM, Ioi Lam wrote:
>> Hi,
>>
>> Please review this cleanup. It touches a lot of files, but the 
>> changes are
>> simple and were done by a script (see bug report).
>>
>> https://bugs.openjdk.java.net/browse/JDK-8209946
>> http://cr.openjdk.java.net/~iklam/jdk12/8209946-cds-test-use-run-driver.v01/ 
>>
>>
>> Most CDS tests are currently using "@run main" to run the main class.
>> However, the main class is usually just a "script" that prepares JAR 
>> files and
>> launches child JVM processes that do the real testing (create or use CDS
>> archives). Usually, the main class itself is not the subject of the 
>> test.
>>
>> According to http://openjdk.java.net/jtreg/faq.html, we should use 
>> "@run driver".
>>
>> I am validating the changes with hs-tier{1,2,3} tests.
>>
>> Thanks
>> - Ioi
>



More information about the hotspot-runtime-dev mailing list