Fix non deterministic for LoadPlanTest.testJson() #5961
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.
What does this PR do?
This PR is fixing a nondeterministic test failure in
LoadPlanTest.testJson()when running with Nondex.Problem
Previously, the test used:
This approach directly compared JSON strings. However, JSON object field order is nondeterministic, and NonDex randomizes iteration orders.
As a result, the test failed when field order in the generated JSON differed from the expected literal string, even though both represented the same structure.
Reproduce Test
Run:
The Fix
Instead of comparing JSON strings directly, the test now parses both expected and actual JSON into
JsonNodeobjects and asserts structural equality. This ensures the comparison is order-independent and validates actual JSON semantics, not textual layout.