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

Reply via email to