fixed flaky test in ToStringBuilderTest.java #3496
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The order of items in the
map
variable for theParamStore
class is indeterministic, causing themap_recurse()
test case to sometimes fail. Sincemap
is a HashMap and the items inside are unordered, the conversion to string doesn't always guarantee the same string.This PR proposes to change the
map
variable from a HashMap to a LinkedHashMap, preserving the ordering of insertion and removing the flakiness of the test.This change was confirmed by running the NonDex tool, which explores and reports errors in different behaviors of under-determined Java APIs.
To reproduce this problem, you can run the test with NonDex using this command:
Here are screenshots of the outputs produced by NonDex before and after the fix:
Please let me know if you'd like to discuss the fix.