On Wed, 28 Aug 2024 09:35:13 GMT, Abhishek Kumar <abhis...@openjdk.org> 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