RFR: 8062537: [TESTBUG] Conflicting GC combinations in hotspot tests
jon.masamitsu at oracle.com
Mon Nov 3 17:56:13 UTC 2014
Tests look good.
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:
>> 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.
>> + * @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.
>> Comments say this is a test of Serial but null
>> + * @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)
>> 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.
>> On 10/30/2014 07:05 AM, Evgeniya Stepanova wrote:
>>> 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.
>>> Evgeniya Stepanova
> /Evgeniya Stepanova/
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-gc-dev