RFR: 8006164 [TESTBUG] compact profile hotspot test issues

Daniel D. Daugherty daniel.daugherty at oracle.com
Tue Aug 27 18:49:09 PDT 2013

 > http://cr.openjdk.java.net/~dholmes/8006164/webrev/

     No comments.

     Just to be clear: The addition of any new test will require this file
     to updated? If so, then we'll have to be careful during reviews. What
     happens if a test isn't listed? Is it by default in the 'jdk' group?

Thumbs up.


On 8/27/13 2:55 AM, Vladimir Kozlov wrote:
> > Thanks. I assume you don't mind being the Reviewer for this?
> Yes, it is reviewed.
> Thanks,
> Vladimir
> On 8/26/13 8:36 PM, David Holmes wrote:
>> On 27/08/2013 1:14 PM, Vladimir Kozlov wrote:
>>> On 8/26/13 7:13 PM, David Holmes wrote:
>>>> Hi Vladimir,
>>>> On 27/08/2013 3:14 AM, Vladimir Kozlov wrote:
>>>>> Thank you, David
>>>>> For me it looks odd when you specify group as not other flags, like:
>>>>> -group:compact1
>>>>> Why it was designed this way?
>>>> Are you referring to the jtreg usage? ie
>>>> jtreg -jdk:xxx -v -r reportdir :compact1
>>> Yes, I asked about that. From the examples in TEST.groups it was not
>>> clear how to use them.
>>>> The group is not an option it is a test designator similar to doing:
>>> It is not destination from my understanding - it is named list of 
>>> tests.
>> Right, a group defines an explicit named list of tests, while gc/ 
>> "names" a list of tests implicitly by their location
>> in the directory structure. Both form the "here are the tests to run" 
>> arguments to jtreg.
>>> So I don't see why we can't use it as flag. I understand that I am late
>>> and the feature already implemented in jtreg and it is only a matter 
>>> how
>>> jtreg parses command line. But it is unusual to have command parameter
>>> starting with :.
>> jtreg needs to be able to distinguish between the name of a test and 
>> the name of a group hence : is a group name
>> delimiter. Actually the complete syntax allows another designator in 
>> front of the :
>> testdir:group
>> which I believe supports the fact that any testdir can contain a 
>> TEST.ROOT file which among other things can define the
>> group file in which the group definition can be found.
>> But this is all jtreg stuff :)
>>>> jtreg -jdk:xxx -v -r reportdir runtime/NMT gc/
>>> Can you run subsets of tests from a group?:
>>>   jtreg -jdk:xxx -v -r reportdir :needs_jdk gc
>> Not at present. A group defines a set of tests, so the above would be 
>> a union of the tests in group :needs_jdk and the
>> tests under directory gc.
>> I am currently arguing for a way to exclude a group on the command 
>> line so that you can "subset" to some degree eg:
>> jtreg gc -:needs_jdk
>> would run all gc tests except those listed in the needs_jdk group. 
>> This avoids the need to define composite groups for
>> all permutations of tests that you might want to run.
>> BTW the way jtreg produces the set of tests in a group is to first do 
>> the union of all included tests and groups, then
>> do a union of the excluded tests and groups, and then subtract the 
>> second set from the first. And each group is
>> evaluated in isolation before being used in another group (as opposed 
>> to logically being inlined and then the result
>> evaluated).
>>>>> Can ou add jprt group too (as template for now)? We want for long 
>>>>> time
>>>>> to run in JPRT small subset of our jtreg tests which will take less
>>>>> 15min. I know, it is separate problem but can you add it as template
>>>>> which we can use and extend later?
>>>> Adding this is trivial. The "template" would be:
>>>> jprt =
>>>> There doesn't seem much point in me adding that at this time though.
>>>> Better to leave it until we know how it needs to be
>>>> defined.
>>> Okay.
>> Thanks. I assume you don't mind being the Reviewer for this?
>> It would be nice to get a second reviewer too. :)
>> David
>>> Thanks,
>>> Vladimir
>>>> Thanks,
>>>> David
>>>>> Thanks,
>>>>> Vladimir
>>>>> On 8/25/13 6:45 PM, David Holmes wrote:
>>>>>> This change introduces the TEST.groups file to allow jtreg to run
>>>>>> regression tests by groups - where the groups are defined to support
>>>>>> testing of compact profiles and the minimal VM.
>>>>>> webrev: http://cr.openjdk.java.net/~dholmes/8006164/webrev/
>>>>>> The primary groups are:
>>>>>>   - jdk
>>>>>>   - jre
>>>>>>   - compact3
>>>>>>   - compact2
>>>>>>   - compact2_minimal
>>>>>>   - compact1
>>>>>>   - compact1_minimal
>>>>>> The minimal VM is only supported on compact1 and compact2.
>>>>>> To select a group of tests you use :<group-name>
>>>>>> Eg to run only those tests that can run on compact1 use:
>>>>>> jtreg :compact1
>>>>>> Of course you still need to point jtreg at the right kind of runtime
>>>>>> image (and give it a full JDK as the compile-jdk!); and if 
>>>>>> testing the
>>>>>> minimal VM you need to tell jtreg to select it using
>>>>>> -javaoptions:-minimal
>>>>>> The full jtreg group facility is only available in the most recent
>>>>>> jtreg
>>>>>> builds, so you will need to grab the latest nightly build, or latest
>>>>>> sources.
>>>>>> It is expected that these group definitions will need some 
>>>>>> tweaking. So
>>>>>> far testing has been limited to linux, but we want to get this in 
>>>>>> ASAP
>>>>>> to extend the testing.
>>>>>> Note: once this is in place, anyone writing regression tests will 
>>>>>> need
>>>>>> to be aware of whether that test is limited to certain profiles and
>>>>>> update the group file accordingly. Sometimes it is not the item 
>>>>>> being
>>>>>> tested that determines the minimum needed profile, but the test
>>>>>> infrastructure eg if it uses XML.
>>>>>> The changeset will be pushed via hotspot-embas that is what is 
>>>>>> used for
>>>>>> profile testing.
>>>>>> Thanks,
>>>>>> David

More information about the hotspot-dev mailing list