--- old/test/jdk/ProblemList.txt 2018-02-28 14:14:33.587753300 +0530 +++ new/test/jdk/ProblemList.txt 2018-02-28 14:14:32.580064200 +0530 @@ -188,7 +188,6 @@ java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html 8194947 generic-all java/awt/dnd/ImageTransferTest/ImageTransferTest.java 8176556 generic-all -java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 7054585 generic-all java/awt/Frame/SetMaximizedBounds/SetMaximizedBounds.java 8196006 windows-all java/awt/Frame/FramesGC/FramesGC.java 8079069 macosx-all java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java 8047218 generic-all @@ -266,7 +265,6 @@ java/awt/Component/GetScreenLocTest.java 4753654 windows-all java/awt/Choice/SelectCurrentItemTest/SelectCurrentItemTest.html 8192929 windows-all java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html 8017454 macosx-all -java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 7054586 windows-all java/awt/Dialog/SiblingChildOrder/SiblingChildOrderTest.java 8193940 windows-all java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java 8000171 windows-all java/awt/Frame/MiscUndecorated/RepaintTest.java 8079267 windows-all --- old/test/jdk/java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 2018-02-28 14:14:39.636187100 +0530 +++ new/test/jdk/java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 2018-02-28 14:14:38.624148300 +0530 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2018 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 @@ -24,7 +24,7 @@ /* @test @key headful - @bug 6829546 + @bug 6829546, 8197808 @summary tests that an always-on-top modal dialog doesn't make any windows always-on-top @author artem.ananiev: area=awt.modal @library ../../regtesthelpers @@ -32,9 +32,13 @@ @run main MakeWindowAlwaysOnTop */ -import java.awt.*; -import java.awt.event.*; - +import java.awt.Frame; +import java.awt.Dialog; +import java.awt.EventQueue; +import java.awt.Color; +import java.awt.Robot; +import java.awt.Point; +import java.awt.event.InputEvent; import test.java.awt.regtesthelpers.Util; public class MakeWindowAlwaysOnTop @@ -59,21 +63,9 @@ d = new Dialog(null, "Modal dialog", Dialog.ModalityType.APPLICATION_MODAL); d.setBounds(500, 500, 160, 160); d.setAlwaysOnTop(true); - EventQueue.invokeLater(new Runnable() - { - public void run() - { - d.setVisible(true); - } - }); + EventQueue.invokeLater(() -> d.setVisible(true) ); // Wait until the dialog is shown - EventQueue.invokeAndWait(new Runnable() - { - public void run() - { - // Empty - } - }); + EventQueue.invokeAndWait(() -> { /* Empty */ }); r.delay(100); Util.waitForIdle(r); @@ -104,29 +96,30 @@ // Bring it above the first frame t.toFront(); - r.delay(100); + + r.delay(200); Util.waitForIdle(r); + Color c = r.getPixelColor(p.x + f.getWidth() / 2, p.y + f.getHeight() / 2); System.out.println("Color = " + c); - System.out.flush(); + + String exceptionMessage = null; // If the color is RED, then the first frame is now always-on-top - if (Color.RED.equals(c)) - { - throw new RuntimeException("Test FAILED: the frame is always-on-top"); - } - else if (!Color.BLUE.equals(c)) - { - throw new RuntimeException("Test FAILED: unknown window is on top of the frame"); - } - else - { - System.out.println("Test PASSED"); - System.out.flush(); + if (Color.RED.equals(c)) { + exceptionMessage = "Test FAILED: the frame is always-on-top"; + } else if (!Color.BLUE.equals(c)) { + exceptionMessage = "Test FAILED: unknown window is on top of the frame"; } // Dispose all the windows t.dispose(); f.dispose(); + + if (exceptionMessage != null) { + throw new RuntimeException(exceptionMessage); + } else { + System.out.println("Test PASSED"); + } } }