Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make test suite deterministic. #195

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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.
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