RFR: 8365262: [IR-Framework] Add simple way to add cross-product of flags [v4]

Emanuel Peter epeter at openjdk.org
Thu Aug 21 06:18:56 UTC 2025


On Wed, 20 Aug 2025 17:03:56 GMT, Manuel Hässig <mhaessig at openjdk.org> wrote:

>> This PR adds the `TestFramework::addCrossProductScenarios` method to enable more ergonomic testing of the combination of all flag combinations. To illustrate its use, I also converted one test to use the new cross product functionality.
>> 
>> Testing:
>>  - [x] Github Actions
>>  - [x] tier1,tier2 plus some internal testing on Oracle supported platforms
>
> Manuel Hässig has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Make the test work

Changes requested by epeter (Reviewer).

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestScenariosCrossProduct.java line 53:

> 51:             if (!e.getMessage().contains("The following scenarios have failed: #0, #1, #2")) {
> 52:                 throw e;
> 53:             }

Here we are still not addressing the "end of string" problem

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestScenariosCrossProduct.java line 65:

> 63:         } catch (TestRunException e) {
> 64:             if (!e.getMessage().contains("The following scenarios have failed: #0, #1, #2")||
> 65:                  e.getMessage().contains("The following scenarios have failed: #0, #1, #2, #3")) {

Ok, but this does not really do the trick either, right? I'm not worried about `#3` particularly, but anything else after `#2`.

test/hotspot/jtreg/testlibrary_tests/ir_framework/tests/TestScenariosCrossProduct.java line 97:

> 95:             }
> 96:         }
> 97:     }

Could we also have a case with empty strings? Maybe it is already possible.
That would allow us to keep things "default". We don't always know what that is.
Imagine we may want a runt with the default value for `-XX:TLABRefillWastFraction=...` but that value could be different on different platforms.
Does that make sense?

-------------

PR Review: https://git.openjdk.org/jdk/pull/26762#pullrequestreview-3139158225
PR Review Comment: https://git.openjdk.org/jdk/pull/26762#discussion_r2289955973
PR Review Comment: https://git.openjdk.org/jdk/pull/26762#discussion_r2289955505
PR Review Comment: https://git.openjdk.org/jdk/pull/26762#discussion_r2289960552


More information about the hotspot-compiler-dev mailing list