RFR(S/L) : 8244614 : cleanup keywords used/available in hotspot testbase

Igor Ignatyev igor.ignatyev at oracle.com
Mon Jun 8 19:20:37 UTC 2020


Hi Coleen,

Thanks for your review!

> Honestly I don't actually know how/if tests are/can be run by specifying keywords.
JFYI, jtreg has -k/-keywords option[1] for that, and you can use JTREG=KEYWORDS=<...>[2] to specify this expression if you use run-test framework.

[1]
>     -k:<keywordExpr> | -keywords:<keywordExpr>
>                     A keyword boolean expression for test selection. The
>                     expression can contain keyword names, combined with & (and),
>                     | (or), ! (not) and parentheses.
[2] https://hg.openjdk.java.net/jdk/jdk/raw-file/ac47db0c7ccb/doc/testing.html#keywords

Thanks,
-- Igor

> On Jun 8, 2020, at 12:07 PM, coleen.phillimore at oracle.com wrote:
> 
> 
> Hi Igor,
> 
> Looks good to me.  Many of those keywords were very historical and nobody cares about them.  Honestly I don't actually know how/if tests are/can be run by specifying keywords.
> 
> thanks,
> Coleen
> 
> On 6/8/20 12:07 PM, Igor Ignatyev wrote:
>> ping?
>> -- Igor
>> 
>>> On Jun 4, 2020, at 1:23 PM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
>>> 
>>> ping?
>>> 
>>> -- Igor
>>> 
>>>> On May 29, 2020, at 10:49 AM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
>>>> 
>>>> ouch,.. it appears that this tier1 execution wasn't in vain. I realized that all my queries were limited to the tests `jtreg -l` gave me, which excludes tests which can't be w/ my default build on my localhost...
>>>> http://cr.openjdk.java.net/~iignatyev//8244614/webrev.01-02 updates 93 more tests.
>>>> 
>>>> -- Igor
>>>> 
>>>>> On May 29, 2020, at 10:14 AM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
>>>>> 
>>>>> http://cr.openjdk.java.net/~iignatyev//8244614/webrev.01.manual
>>>>>> 5 lines changed: 4 ins; 0 del; 1 mod;
>>>>> http://cr.openjdk.java.net/~iignatyev//8244614/webrev.01
>>>>>> 930 lines changed: 3 ins; 204 del; 723 mod;
>>>>> 
>>>>> Hi all,
>>>>> 
>>>>> given the absense of comments, I assume that nobody has any strong feeling these to-be-removed keywords , so I'm repurposing this thread as RFR.
>>>>> 
>>>>> the biggest part of the patch was done by sed:
>>>>> - removal of $key : gsed -ri "s/(@key.*) $key/\1/g" {} ; where $key is in nmt cte_test, jcmd, regression
>>>>> - removal of empty @key : gsed -ri '/^ \* @key\s*$/d'
>>>>> 
>>>>> the manually done changes are limited to:
>>>>> - removal of keywords from TEST.ROOT
>>>>> - adding k/w description to TEST.ROOT
>>>>> - adding @bug to redefclass031
>>>>> 
>>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8244614
>>>>> webrevs:
>>>>> - part done by sed: http://cr.openjdk.java.net/~iignatyev//8244614/webrev.01.sed
>>>>>> 594 lines changed: 0 ins; 205 del; 389 mod;
>>>>> - part done by me: http://cr.openjdk.java.net/~iignatyev//8244614/webrev.01.manual
>>>>>> 5 lines changed: 4 ins; 0 del; 1 mod;
>>>>> - whole (incl. copyright year update) : http://cr.openjdk.java.net/~iignatyev//8244614/webrev.01
>>>>>> 930 lines changed: 3 ins; 204 del; 723 mod;
>>>>> 
>>>>> testing:
>>>>> - grep-ed for removed keywords
>>>>> - jtreg -l
>>>>> - tier1 (just for the good luck)
>>>>> 
>>>>> Thanks,
>>>>> -- Igor
>>>>> 
>>>>> 
>>>>> 
>>>>>> On May 22, 2020, at 3:42 PM, Igor Ignatyev <igor.ignatyev at oracle.com> wrote:
>>>>>> 
>>>>>> Hi all,
>>>>>> 
>>>>>> I'm planning to clean up jtreg keywords that we have in test/hotspot/jtreg as most of them seem to be useless, confuse and make people to add these keywords in vain. After looking at how hotspot k/w are used, as well as which k/w are available and used by other test suites, I'd like to propose the following:
>>>>>> - keep and document 'headful', 'stress' as they are useful for test selection;
>>>>>> - keep and document 'intermittent', 'randomness' as they bring extra information about tests stability/reproducibility/determinism;
>>>>>> - remove 'nmt', 'gc', 'metaspace' as they are used only in obvious places and aren't informative;
>>>>>> - remove 'cte_test' as it's an artifact of old days and doesn't bring any useful information anymore;
>>>>>> - remove 'jcmd', not all tests which depend on jcmd has this k/w, so it can't be used for test selection/filtering; there is also no obvious reasons to single out jcmd from other binaries bundled w/ JDK
>>>>>> - remove 'regression' as the usage of at-bug is more common and convey the same meaning; and for two tests which have regression k/w, but don't have at-bug:
>>>>>> - mark vmTestbase/nsk/jvmti/RedefineClasses/redefclass031/TestDescription.java w/ at-bug 6318850;
>>>>>> - don't mark runtime/NMT/ReleaseNoCommit.java as it wasn't integrated as a true regression test, but rather as a function test for NMT w/ bunch of other NMT tests (where aren't marked w/ 'regression' k/w) by JDK-8054952.
>>>>>> 
>>>>>> I'd like to receive some feedback on the proposed changes before I (more likely sed) remove keywords from 500+ tests and spend time testing that.
>>>>>> 
>>>>>> [1] is the preliminary webrev just to illustrate the change, it only updates TEST.ROOT file and adds @bug to redefclass031 test.
>>>>>> 
>>>>>> Thanks,
>>>>>> -- Igor
>>>>>> 
>>>>>> for reference, k/w available in other test suites:
>>>>>> jdk : 2d dnd headful i18n intermittent printer randomness jfr
>>>>>> langtools: intermittent randomness
>>>>>> jaxp: intermittent randomness
>>>>>> 
>>>>>> [1] http://cr.openjdk.java.net/~iignatyev//8244614/webrev.00
>>>>>> 
>>>>>> 
> 



More information about the hotspot-dev mailing list