RFR(S) : 8246494 : introduce vm.flagless at-requires property

David Holmes david.holmes at oracle.com
Wed Jun 3 23:02:28 UTC 2020

Hi Igor,

On 4/06/2020 7:30 am, Igor Ignatyev wrote:
> http://cr.openjdk.java.net/~iignatyev//8246494/webrev.00
>> 70 lines changed: 66 ins; 0 del; 4 mod
> Hi all,
> could you please review the patch which introduces a new @requires property to filter out the tests which ignore externally provided JVM flags?
> the idea behind this patch is to have a way to clearly mark tests which ignore flags, so
> a) it's obvious that they don't execute a flag-guarded code/feature, and extra care should be taken to use them to verify any flag-guarded changed;
> b) they can be easily excluded from runs w/ flags.

So all such tests should be using driver mode, and further the VMs they 
then exec don't use any of the APIs that include the jtreg test arguments.

Okay this seems reasonable in what it does.


> @requires and VMProps allows us to achieve both, so it's been decided to add a new property `vm.flagless`. `vm.flagless` is set to false if there are any XX flags other than `-XX:MaxRAMPercentage` and `-XX:CreateCoredumpOnCrash` (which are known to be set almost always) or any X flags other `-Xmixed`; in other words any tests w/ `@requires vm.flagless` will be excluded from runs w/ any other X / XX flags passed via `-vmoption` / `-javaoption`. in rare cases, when one still wants to run the tests marked by `vm.flagless`  w/ external flags, `vm.flagless` can be forcefully set to true by setting any value to `TEST_VM_FLAGLESS` env. variable.
> this patch adds necessary common changes and marks common tests, namely Scimark, GTestWrapper and TestNativeProcessBuilder. Component-specific tests will be marked separately by the corresponding subtasks of 8151707[1].
> please note, the patch depends on CODETOOLS-7902336[2], which will be included in the next jtreg version, so this patch is to be integrated only after jtreg5.1 is promoted and we switch to use it by 8246387[3].
> JBS: https://bugs.openjdk.java.net/browse/JDK-8246494
> webrev: http://cr.openjdk.java.net/~iignatyev//8246494/webrev.00
> testing: marked tests w/ different XX and X flags w/ and w/o TEST_VM_FLAGLESS env. var, and w/o any flags
> [1] https://bugs.openjdk.java.net/browse/JDK-8151707
> [2] https://bugs.openjdk.java.net/browse/CODETOOLS-7902336
> [3] https://bugs.openjdk.java.net/browse/JDK-8246387
> Thanks,
> -- Igor

More information about the hotspot-gc-dev mailing list