RFR (XS): 8078673: Update TEST.groups for recent GC tests
Dmitry Fazunenko
dmitry.fazunenko at oracle.com
Wed Apr 29 17:14:42 UTC 2015
Derek,
@requires is a quite new feature of jtreg. It's used in the cases when a
test should not be executed in certain circumstances.
The most typical use case if a test runs VM with a one GC, and another
GC is specified on the command line.
On 29.04.2015 19:58, Derek White wrote:
> Hi Dima,
>
> Thanks for the info. I looked briefly at using @requires but couldn't
> quite make sense of it. I definitely prefer have all of the info in
> the test, rather than modifying some random file elsewhere.
>
> So I understand at requires vm.gc=="null" means require all collectors to
> be implemented.
It means, that the test uses all collectors, and if a collector is
specified on command line the test (one of its @run) will fail with
Example: gc/TestSmallHeap.java
>
> What does @requires vm.gc == "G1" | vm.gc == null" mean?
It means that test should work if either G1 is given on command line
(-vmoptions:-XX:+UseG1GC) or no collector specified.
>
> Is this documented somewhere?
It's documented in jtreg:
http://jre.us.oracle.com/java/re/jtreg/4.1/promoted/latest/binaries/jtreg/doc/jtreg/tag-spec.html
Thanks,
Dima
>
> Thanks!
>
> - Derek
>
> p.s. It turns out that TestDynamicNumberOfGCThreads and TestSmallHeap
> use @requires vm.gc=="null".
>
> On 4/29/15 12:25 PM, Dmitry Fazunenko wrote:
>> Hi Derek,
>>
>> Sorry for the late comment.
>>
>> Adding needs_XXXgc groups was a temporary solution for the period
>> when jtreg didn't support @requires.
>> Those groups are not used anymore in our nightly runs and will be
>> removed soon.
>>
>> The more proper way to specify that a test is not applicable for a
>> certain collector is adding @requires tag.
>> Like:
>> * @requires vm.gc == "G1" | vm.gc == null
>> or
>> if a test use all collectors:
>> * @requires vm.gc=="null"
>>
>> Thanks,
>> Dima
>>
>> On 29.04.2015 18:00, Derek White wrote:
>>> Thanks Eric!
>>>
>>> On 4/29/15 10:44 AM, Eric Caspole wrote:
>>>> Hi Derek,
>>>> Looks good to me.
>>>> And now I learned how TEST.groups works ;)
>>>> Eric
>>>>
>>>>
>>>> On 4/28/2015 5:31 PM, Derek White wrote:
>>>>> Please review this simple for GC tests that require certain
>>>>> collectors (e.g. shouldn't run in embedded).
>>>>>
>>>>> Certain GC regression tests require specific collectors to be
>>>>> enabled in the JVM (by using -XX:+UseParallelGC, etc). But these
>>>>> tests were not listed in TEST.groups.
>>>>>
>>>>> This webrev adds the following tests to the appropriate
>>>>> needs_g1gc, needs_serialgc, needs_parallelgc, and needs_cmsgc lists.
>>>>>
>>>>> * gc/TestSmallHeap.java
>>>>> * gc/TestCardTablePageCommits.java
>>>>> * gc/arguments/TestParallelHeapSizeFlags.java
>>>>> gc/ergonomics/TestDynamicNumberOfGCThreads.java
>>>>> * gc/logging/TestGCId.java
>>>>>
>>>>> CR:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8078673
>>>>>
>>>>> Webrev:
>>>>> http://cr.openjdk.java.net/~drwhite/8078673/webrev.00/
>>>>>
>>>>> Testing:
>>>>> JPRT
>>>>>
>>>>> Thanks,
>>>>> - Derek
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20150429/db4c9513/attachment.htm>
More information about the hotspot-gc-dev
mailing list