On Sun, 22 May 2022 17:57:27 GMT, Jeremy <d...@openjdk.java.net> wrote:
>> This resolves an occasional unit test failure in Path2D.UnitTest. >> >> The previous Path2D#getBounds2D(PathIterator) implementation assumed that >> after a SEG_CLOSE the next segment would always be a SEG_MOVETO to start a >> new clearly defined segment. But the Path2D.UnitTest created random paths >> that didn't follow this expectation. >> >> This commit updates #getBounds2D(PathIterator) so it will move the cursor >> back to the (moveX, moveY) point for the sake of calculating future >> segments. This appears to resolve the unit test failures. >> >> This commit also modifies the unit test so it logs random seeds. This may >> help developers isolate/reproduce specific failures with more certainty. > > Jeremy has updated the pull request incrementally with one additional commit > since the last revision: > > 8176501: Method Shape.getBounds2D() incorrectly includes Bezier control > points in bounding box > > Renaming "moveX"/"moveY" to "startX"/"startY" at Laurent's suggestion. I reworded the variables as Laurent suggested. Regarding explicitly testing certain paths: I don't mind adding more test cases, but for me the catch is exactly *which* cases to add? Since we don't have a specific known failure/concern in mind, what should we test? (for ex: an open/closed triangle? a C-shaped cubic bezier curve? something else?) Also (unrelated): I ran the current Path2D.UnitTest tonight on my Mac for a few hours. I reached 32,220 iterations without any errors. ------------- PR: https://git.openjdk.java.net/jdk/pull/8828