Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
While running OCVN with
handleFlakiness=true, static inference enabled andexecNumForDetectFlakiness=2(a one-hour search budget), we encountered 27 test-writing failures out of 1,439 tests selected for output. The stack traces pointed tomergeJsonDiffFromOriginal:NullPointerException: get(...) must not be null. The writer caught these exceptions and omitted the affected tests, leaving 1,412 generated test methods even though the overall process reported success.The array merge checks the original and current observation lengths, but not the accumulated
mergedarray length. An earlier observation can replace that array with a shorter one. A later observation matching the original length then accesses a missingmerged[i].Minimal reproduction:
Fix
Before merging array elements by index, retain the accumulated array if its length already differs from the original. This avoids indexing missing elements and preserves the previously observed size difference for flaky assertion handling. Simply replacing it with the latest original-length observation would discard that evidence.
This is a small, independent fix to response-body merging. It does not change phase budgets, re-execution scheduling, or exception handling in the test writer.
Validation
RestCallResultTestand 7 inFlakinessInferenceUtilTest, with no failures, errors, or skips.The full OCVN experiment has not been rerun with this patch; validation here is focused regression testing.