Skip to content

Conversation

cscott
Copy link

@cscott cscott commented Oct 18, 2018

Avoid using java.util.HashSet/java.util.HashMap, since iteration order in the hash set (even if the keys' hashCode methods are deterministic) is dependent on the exact size of the hash set, bucket organization, etc. This changes for different versions of the JDK, causing tests to have repeatable false failures when run on (eg) openjdk 1.8 (it appears the test suite was written against JDK 5/6).

Use java.util.LinkedHashSet/LinkedHashMap so that the iteration order is always repeatable (and the tests always pass). (Define a few missing hashCode methods while we're at it, although using LinkedHashSet means that isn't necessary in order to get repeatable iteration order.)

Avoid using java.util.HashSet, since iteration order in the hash set is
dependent on the exact size of the hash set, bucket organization, etc.
Use java.util.LinkedHashSet/LinkedHashMap so that iteration order is
always repeatable.
@parrt parrt added this to the 3.5.3 milestone Apr 4, 2022
@parrt parrt added the cleanup label Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants