RFR: 8296589: PixelBufferDrawTest fails on some systems

Kevin Rushforth kcr at openjdk.org
Wed Nov 9 18:32:37 UTC 2022


On Wed, 9 Nov 2022 18:05:22 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

>> Issue happening on some hardware due to slightly different pixel values being returned.
>> 
>> Increased tolerance of asserts in compareColor function to allow these tests to pass (0.01 delta is still tighter than other similar tests which use 0.07).
>
> tests/system/src/test/java/test/robot/javafx/scene/PixelBufferDrawTest.java line 189:
> 
>> 187: 
>> 188:     private void compareColor(Color exp, Color act) {
>> 189:         Assert.assertEquals(exp.getRed(), act.getRed(), 0.01);
> 
> I am curious: what is the source of these differences?
> Is it color model (and could we explicitly set the CM?)
> Or is it differences in anti-aliasing or some such?

It's a good question, but I note that any number of things can cause such differences on some systems. As I mentioned in the bug report, most of our robot-based tests use `0.07` as a tolerance value. The idea being that these tests aren't trying to check whether the rendering is pixel perfect or that the shaders, etc., produce an exact value. They are just checking whether the pixel is red versus green versus orange, etc.

-------------

PR: https://git.openjdk.org/jfx/pull/944


More information about the openjfx-dev mailing list