RFR: JDK-8317635: Improve GetClassFields test to verify correctness of field order [v2]

Serguei Spitsyn sspitsyn at openjdk.org
Thu Oct 19 01:04:47 UTC 2023


On Wed, 18 Oct 2023 01:40:18 GMT, Alex Menkov <amenkov at openjdk.org> wrote:

>> All test cases in getclfld007 had 1 (or 0) field in test classes/interfaces.
>> The change adds several fields in one of the test classes to verify order of the returned fields (as described by GetClassFields spec: "in the order they occur in the class file").
>> Field order in the class file is not guaranteed to be the same as in the source, so information about expected fields and expected order is extracted by ASM (it parses class file sequentially).
>> This allows to drop hardcoded field name/type in native part.
>> 
>> Additionally did some test cleanup:
>> - dropped "printdump" stuff (the test always logs reported fields);
>> - removed unused `generic` in native check() method, added deallocation of `name` and `sig`
>
> Alex Menkov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   get field order from class file

The fix looks good to me, better then it was.
It is nice you get rid of the verbose option and print info by default.
I've posted a couple of nits.
Error is not set properly in one place of native agent.

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

Marked as reviewed by sspitsyn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/16131#pullrequestreview-1686472719


More information about the serviceability-dev mailing list