On Wed, 28 Aug 2024 09:35:13 GMT, Abhishek Kumar <[email protected]> wrote:
>> Test failed intermittently on particular host. Though analysis pointed out
>> to a test frame at left top on that host, I've updated the test for further
>> stabilizing it. Two things done here:
>> 1. Move the frame to center of the screen rather than left top.
>> 2. Added tolerance checks for color comparison - this is based on analysis
>> reports where the image didn't had exact black color which is supposed to
>> be. So like other test cases, providing some tolerance for comparison.
>
> test/jdk/java/awt/Checkbox/CheckboxCheckerScalingTest.java line 78:
>
>> 76: for (int j = 0; j <
>> imageAfterChecked.getWidth(); j++) {
>> 77: Color pixelColor = new
>> Color(imageAfterChecked.getRGB(i, j));
>> 78: if (compareColor(pixelColor)) {
>
> Current pixel comparison suggests that the test passes even if one pixel
> satisfies the condition. This may give some false positive result.
> Is it possible to test all pixel and then check the number of pixels passed
> against total number of pixels compared and if it is more than some
> percentage value ( may be ~85-90) then return true otherwise false.
>
> This may lead to avoid the tolerance check if sufficient number of pixels are
> exactly black in color.
Checker mark will be less than 50% of the image. The image captured is around
8x8 pixels, in that we hardly can find 10% of black color (though with
tolerance of 5-10 value). Since we are making decisions based on black color
which is the actual checker color with tolerance, checking for one such match
would be fine.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20723#discussion_r1734357861