RFR: 8284780: Need methods to create pre-sized HashSet and LinkedHashSet [v10]
XenoAmess
duke at openjdk.java.net
Thu May 26 18:05:00 UTC 2022
On Wed, 25 May 2022 05:22:44 GMT, Stuart Marks <smarks at openjdk.org> wrote:
>> test/jdk/java/util/HashMap/WhiteBoxResizeTest.java line 360:
>>
>>> 358: throw new RuntimeException(e);
>>> 359: }
>>> 360: })
>>
>> These probably need a `mapField.setAccessible(true)` call, or a `VarHandle` for the `HashSet.map` field.
>
> Yes, this test fails with IllegalAccessException. Probably it's easiest to use a VarHandle to get private fields, similar to other usage already in this test.
>
> This test case is a bit odd though in that it's supposed to test HashSet and LinkedHashSet but it mostly actually tests HashMap. It creates the Set instance and immediately extracts the HashMap, which is then passed to the actual test, which operates directly on the HashMap. It would be preferable to create a Set; add an element (so that it's properly allocated); and then make assertions over the Set (which involve extracting the HashMap, etc.) It seems like there should be factoring that allows this sort of arrangement to be retrofitted without adding too much complication.
>
> Finally, please add "8284780" to the `@bug` line at the top of this test.
@stuart-marks I refactored the tests. please have a look.
@stuart-marks 8284780 added.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8302
More information about the core-libs-dev
mailing list