RFR: 8062537: [TESTBUG] Conflicting GC combinations in hotspot tests

Jon Masamitsu jon.masamitsu at oracle.com
Mon Nov 3 17:56:13 UTC 2014


Tests look good.

Reviewed.

Jon

On 10/31/2014 03:34 AM, Evgeniya Stepanova wrote:
> Hi Jon!
>
> Please see comments inline
> On 31.10.2014 7:45, Jon Masamitsu wrote:
>> Evgeniya,
>>
>> I've only look at a few of the files.  I'm not sure
>> I'm interpreting the @requires correctly.  If you
>> reply to these initial comments, that will help
>> me understand.
>>
>> http://cr.openjdk.java.net/~eistepan/8062537/webrev.00/test/gc/arguments/TestMaxNewSize.java.udiff.html
>>
>> + * @requires vm.gc=="null"
>> Test seems to expect Serial GC.  Should the requires
>> be Serial or null?
> The diff info is not full:
>   25  * @test TestMaxNewSize
>   26  * @key gc
>   27  * @bug 7057939
>   28  * @requires vm.gc=="null"
>   29  * @summary Make sure that MaxNewSize always has a useful value 
> after argument
>   30  * processing.
>   31  * @library /testlibrary
>   32  * @build TestMaxNewSize
>   33  * @run main TestMaxNewSize -XX:+UseSerialGC
>   34  * @run main TestMaxNewSize -XX:+UseParallelGC
>   35  * @run main TestMaxNewSize -XX:+UseConcMarkSweepGC
>   36  * @run main TestMaxNewSize -XX:+UseG1GC
>
> So test run with all GCs.
>
>>
>> http://cr.openjdk.java.net/~eistepan/8062537/webrev.00/test/gc/arguments/TestSerialHeapSizeFlags.java.udiff.html
>>
>> Comments say this is a test of Serial but null
>> allowed.
>>
>> + * @requires vm.gc=="Serial" | vm.gc=="null"
>>
> Test itself set "-XX:+UseSerialGC" flag and launch separate java process.
> Setting @requires in such cases aiming 2 targets:
> 1)It is skipps if GC is for example ParallelGC. In concrete case you 
> could guess it only for serial GC, but in some tests you couldn't.
> So you see test passed and think it passed with your options and 
> actually it passed with other GC. With requires you are totally sure 
> test run with option you set. I believe such tests should be changed 
> to pass options to the java processes, but now they doesn't.
> 2)From the other hand, when run without options, tests always run (ALL 
> tests will run, no tests skipped at all)
>
>> http://cr.openjdk.java.net/~eistepan/8062537/webrev.00/test/gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java.udiff.html
>>
>> If you're going to use this on all the collectors (allow vm.gc ==  null),
>> then class loading should be turned off on all the GC's, not
>> just CMS (-XX:-CMSClassUnloadingEnabled only affects CMS).
> See previous comment. All tests you mentioned were not failed, and 
> "requires" added for them to make order in test run.
>>
>> Jon
>>
>> On 10/30/2014 07:05 AM, Evgeniya Stepanova wrote:
>>> Hi,
>>>
>>> Please review changes for 8062537, the OpenJDK/hotspot part of the 
>>> JDK-8019361 <https://bugs.openjdk.java.net/browse/JDK-8019361>
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8062537
>>> fix: http://cr.openjdk.java.net/~eistepan/8062537/webrev.00/
>>>
>>> Problem: Some tests explicitly set GC and fail when jtreg set 
>>> another GC.
>>> Solution: Such tests marked with the jtreg tag "requires" to skip 
>>> test if there is a conflict
>>>
>>> Tested locally with different GC flags (-XX:+UseG1GC, 
>>> -XX:+UseParallelGC, -XX:+UseSerialGC, -XX:+UseConcMarkSweep and 
>>> without any GC flag). Tests are being excluded as expected. No tests 
>>> failed because of the conflict.
>>>
>>> Thanks,
>>> Evgeniya Stepanova
>>>
>>
>
> -- 
> /Evgeniya Stepanova/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20141103/2dd9dab7/attachment.htm>


More information about the hotspot-gc-dev mailing list