8151282: [TEST_BUG] javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java fails with GTK LnF
authoraniyogi
Wed, 23 Mar 2016 17:25:27 +0530
changeset 36901 49e6f3f15290
parent 36900 3940219afc12
child 36902 bb30d89aa00e
8151282: [TEST_BUG] javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java fails with GTK LnF Reviewed-by: serb, alexsch
jdk/test/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java
--- a/jdk/test/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java	Wed Mar 23 14:25:22 2016 +0400
+++ b/jdk/test/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java	Wed Mar 23 17:25:27 2016 +0530
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,7 +22,7 @@
  */
 
 /* @test
- * @bug 8146321
+ * @bug 8146321 8151282
  * @summary verifies JInternalFrame Icon and ImageIcon
  * @library ../../regtesthelpers
  * @build Util
@@ -53,8 +53,9 @@
     private static Icon titleIcon;
     private static BufferedImage imageIconImage;
     private static BufferedImage iconImage;
+    private static Robot robot;
+    private static volatile String errorString = "";
 
-    private static Robot robot;
 
     public static void main(String[] args) throws Exception {
         robot = new Robot();
@@ -64,6 +65,9 @@
         for (UIManager.LookAndFeelInfo lookAndFeelItem : lookAndFeelArray) {
             executeCase(lookAndFeelItem.getClassName());
         }
+        if (!"".equals(errorString)) {
+            throw new RuntimeException("Error Log:\n" + errorString);
+        }
 
     }
 
@@ -72,17 +76,18 @@
             createImageIconUI(lookAndFeelString);
             robot.delay(1000);
             getImageIconBufferedImage();
-            robot.waitForIdle();
+            robot.delay(1000);
             cleanUp();
             robot.waitForIdle();
 
             createIconUI(lookAndFeelString);
             robot.delay(1000);
             getIconBufferedImage();
-            robot.waitForIdle();
+            robot.delay(1000);
             cleanUp();
             robot.waitForIdle();
-            testIfSame();
+
+            testIfSame(lookAndFeelString);
             robot.waitForIdle();
         }
 
@@ -198,11 +203,16 @@
                 = robot.createScreenCapture(captureRect);
     }
 
-    private static void testIfSame() throws Exception {
+    private static void testIfSame(final String lookAndFeelString)
+            throws Exception {
         if (!bufferedImagesEqual(imageIconImage, iconImage)) {
-            System.err.println("ERROR: icon and imageIcon not same.");
+            String error ="[" + lookAndFeelString
+                    + "] : ERROR: icon and imageIcon not same.";
+            errorString += error;
+            System.err.println(error);
         } else {
-            System.out.println("SUCCESS: icon and imageIcon same.");
+            System.out.println("[" + lookAndFeelString
+                    + "] : SUCCESS: icon and imageIcon same.");
         }
     }
 
@@ -260,6 +270,11 @@
 
     private static boolean tryLookAndFeel(String lookAndFeelString)
             throws Exception {
+        //This test case is not applicable for Motif and gtk LAFs
+        if(lookAndFeelString.contains("motif")
+                || lookAndFeelString.contains("gtk")) {
+            return false;
+        }
         try {
             UIManager.setLookAndFeel(
                     lookAndFeelString);