ShapeNotSetSometimes.java fails on macOS 11 on a random iteration of 
`colorCheck()` as shown below. The `colorCheck()` is repeated for about 50 
times in the test. It is observed to pass on previous attempts and fail on a 
random attempt such as Attempt# 29 shown here.

Here the point (150, 20) is well in the green area hence the slight color diff 
picked up by `robot.getPixelColor()` is not due to sampling of color at the 
edge (which sometimes causes robot to pick up slightly different color).  


Attempt 29
Checking 150, 20, java.awt.Color[r=0,g=255,b=1] should be 
java.awt.Color[r=0,g=255,b=0]


Due to the above, I have kept the color sampling points at the same location as 
earlier and made the following changes to the test:

- Moved the frame to the center of the screen.
- Instead of comparing exact RGB values, used `colorCompare()` which allows a 
difference of 2 per color component to accommodate slight variations when 
comparing actual vs expected colors.



Attempt 27
Checking 150, 130, java.awt.Color[r=255,g=255,b=255] should be 
java.awt.Color[r=255,g=255,b=255]
Checking 150, 20, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 280, 120, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 150, 250, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 20, 120, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 62, 62, java.awt.Color[r=0,g=243,b=0] should not be 
java.awt.Color[r=255,g=255,b=255]
Checking 240, 185, java.awt.Color[r=0,g=229,b=0] should not be 
java.awt.Color[r=255,g=255,b=255]
Attempt 28
Checking 150, 130, java.awt.Color[r=255,g=255,b=255] should be 
java.awt.Color[r=255,g=255,b=255]
Checking 150, 20, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 280, 120, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 150, 250, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 20, 120, java.awt.Color[r=0,g=255,b=0] should be 
java.awt.Color[r=0,g=255,b=0]
Checking 62, 62, java.awt.Color[r=0,g=241,b=0] should not be 
java.awt.Color[r=255,g=255,b=255]
Checking 240, 185, java.awt.Color[r=0,g=227,b=0] should not be 
java.awt.Color[r=255,g=255,b=255]
Attempt 29
Checking 150, 130, java.awt.Color[r=255,g=255,b=255] should be 
java.awt.Color[r=255,g=255,b=255]
Checking 150, 20, java.awt.Color[r=0,g=255,b=1] should be 
java.awt.Color[r=0,g=255,b=0]
----------System.err:(16/962)----------
Checking for transparency failed: point: 370, 420
actual java.awt.Color[r=0,g=255,b=1]
expected java.awt.Color[r=0,g=255,b=0]
java.lang.RuntimeException: Test failed. The shape has not been applied.

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

Commit messages:
 - initial test fix

Changes: https://git.openjdk.org/jdk/pull/17563/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17563&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8324238
  Stats: 33 lines in 1 file changed: 20 ins; 4 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/17563.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17563/head:pull/17563

PR: https://git.openjdk.org/jdk/pull/17563

Reply via email to