RFR: 7903774: make all tests combinations printing nicer and/or configurable [v10]
Jiří Vaněk
jvanek at openjdk.org
Wed Jul 16 14:49:02 UTC 2025
On Mon, 23 Jun 2025 08:45:52 GMT, Jiří Vaněk <jvanek at openjdk.org> wrote:
>> This is still WIP, but already on row what [CODETOOLS-7903774](https://bugs.openjdk.org/browse/CODETOOLS-7903774) suggested.
>>
>> It will be finished once all desired output combinations are included, but already now is doing the usage of listing much more comfortable and code readable.
>>
>> From:
>>
>> `TESTS` - as introduced by https://github.com/openjdk/jcstress/pull/149
>> `COMBINATIONS` - as introduced in https://github.com/openjdk/jcstress/pull/149 verbose mode (thus surpassing the `-v` impact
>> `ALL_TESTS` - all tests as it was before https://github.com/openjdk/jcstress/pull/149
>> `COMBINATIONS_GROUPED ` - as suggested in https://github.com/openjdk/jcstress/pull/149#discussion_r1668678910
>> `COMBINATIONS_JSON` same as combinations, but a valid json
>> `COMBINATIONS_GROUPS` same as COMBINATIONS_GROUPED only instead of enumeration in each group, only count of members will be printed
>>
>>
>> * TESTS are already implemented as ALL_MATCHING
>> * COMBINATIONS as ALL_MATCHING_COMBINATIONS
>> * ALL_TESTS as ALL
>>
>> COMBINATIONS_GROUPED, and COMBINATIONS_GROUPS are under development.
>> The _JSON variants are tobe decided, but ability to JQL it sounds nice.
>>
>> Suggestion to better names welcomed.
>
> Jiří Vaněk has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits:
>
> - Implemented proper json listings
>
> - id can be used both flatten (so equal to plaintext) or properly
> strcutured for JQ (default)
> - listing can be redirecd to stderr to use with `jq` directly
> - ALL now corectly return all tests
> - Added property to control json variants fragemnts
>
> if true, the key will be written as:
> "[actor1, actor2], spinLoopStyle: Thread.onSpinWait(), threads: 2, forkId: 0, maxFootprintMB: 64, compileMode: 7, shClass: (PG 0, CG 0), (PG 0, CG 0), strideSize: 256, strideCount: 40, cpuMap: null, [-XX:+UseBiasedLocking, -XX:+StressLCM, -XX:+StressGCM, -XX:+StressIGVN, -XX:+StressCCP, -XX:StressSeed=yyyyyyyy]"
>
> otherwise (default), it will be written as
>
> ...
> "actorNames": ["actor1", "actor2"],
> "spinLoopStyle": "Thread.onSpinWait()",
> "threads": 2,
> "forkId": 0,
> "maxFootprintMB": 64,
> "compileMode": 7,
> "shClass": "(PG 0, CG 0), (PG 0, CG 0)",
> "strideSize": 256,
> "strideCount": 40,
> "cpuMap": "null",
> "jvmArgs": [-XX:+UseBiasedLocking, -XX:+StressLCM, -XX:+StressGCM, -XX:+StressIGVN, -XX:+StressCCP, -XX:StressSeed=yyyyyyyy]"
> ...
> - Implemented naive json formatting
>
> To cut away the header one can use: | sed '0,/^All.*[0-9]\+$/d'
> - Implemented totaling of listing only
> - Fixed spacing in help
> - Removed redundnant hyphen
> - implemented MATCHING_(INVERTED)GROUPS(_COUNT)
> - Refactored lsiting so it takes proper argument
>
> instead of misusing verbose switch
> and thus returned the ability to print allavailable tetest
> - refactored listTests() to its own class
faith restored
-------------
PR Comment: https://git.openjdk.org/jcstress/pull/153#issuecomment-3078944002
More information about the jcstress-dev
mailing list