As per JDK-8252813, some tests fails recurringly in CI macos system. This is an 
attempt to fix the swing tests.
It was seen from the logs that we have color mismatch in these tests.

For example, in PressedIcon test, we had following log

----------System.out:(1/75)----------
color java.awt.Color[r=55,g=55,b=55] COLOR_1Xjava.awt.Color[r=255,g=0,b=0]
----------System.err:(13/842)----------
java.lang.RuntimeException: Colors is different for scale=1!
        at PressedIconTest.main(PressedIconTest.java:97)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:51)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at 
com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
        at java.base/java.lang.Thread.run(Thread.java:833)

and JInternalFrame test, we had 
----------System.err:(15/939)----------
FRAME_COLOR Red: 255; Green: 200; Blue: 0
Pixel color Red: 55; Green: 55; Blue: 55
java.lang.RuntimeException: Internal frame is not correctly dragged!
        at bug8069348.main(bug8069348.java:96)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:51)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at 
com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
        at java.base/java.lang.Thread.run(Thread.java:833)

where color is obtained as 55,55,55 instead of required color. The png image 
generated at failure also did not reveal anything abnormal apart from presence 
of mouse cursor around the same area where the getPixelColor location is 
pointing to. And since mouse cursor is also grayish black, it seems robot was 
wrongly picking up cursor pixels instead of background color.
Modified tests to use location.x-10, location.y-10 to obtain the pixel color. 
It does not hamper the test as the whole area around the location is coloured 
with same color in the test so getting pixel color from a bit wide of the 
centre will not affect the test.
Modified swing tests are passing in the affected system and also in other macos 
systems and platforms. Link in JBS.

The awt tests that are failing seems to have different root cause and will be 
handled separately.

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

Commit messages:
 - 8276058: Some swing test fails on specific CI macos system
 - 8276058: Some swing test fails on specific CI macos system

Changes: https://git.openjdk.java.net/jdk/pull/6140/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6140&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8276058
  Stats: 104 lines in 3 files changed: 59 ins; 7 del; 38 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6140.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6140/head:pull/6140

PR: https://git.openjdk.java.net/jdk/pull/6140

Reply via email to