From a6780f42104350d4bd5abea888fe1e925dca4eaf Mon Sep 17 00:00:00 2001 From: Vitaly Provodin Date: Tue, 14 Jun 2022 11:00:32 +0700 Subject: [PATCH] JBR-4570 improve synchronization and increase waiting time (cherry picked from commit d7b11a19255a14665f5e849355e8ab678d931767) --- .../jb/java/awt/Desktop/AboutHandlerTest.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/test/jdk/jb/java/awt/Desktop/AboutHandlerTest.java b/test/jdk/jb/java/awt/Desktop/AboutHandlerTest.java index 63e4bd3ed37f..452496fb3a61 100644 --- a/test/jdk/jb/java/awt/Desktop/AboutHandlerTest.java +++ b/test/jdk/jb/java/awt/Desktop/AboutHandlerTest.java @@ -28,6 +28,8 @@ import java.awt.Desktop; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; /** * @test @@ -40,7 +42,10 @@ import java.awt.event.KeyEvent; */ public class AboutHandlerTest { - private static final int WAIT_TIME = 1000; + + private static CountDownLatch doneSignal = new CountDownLatch(1); + + private static final int WAIT_TIME = 3000; private static Robot robot; @@ -52,9 +57,11 @@ public class AboutHandlerTest { robot = new Robot(); robot.setAutoDelay(50); + long starttime = System.currentTimeMillis(); Desktop.getDesktop().setAboutHandler(e -> { System.out.println("AboutHandler hits"); testPassed = true; + doneSignal.countDown(); }); SwingUtilities.invokeLater(() -> { @@ -62,8 +69,9 @@ public class AboutHandlerTest { }); // waiting for AboutHandler - sleep(WAIT_TIME); - + doneSignal.await(WAIT_TIME, TimeUnit.SECONDS); + long endtime = System.currentTimeMillis(); + System.out.println("Duration (milisec): " + (endtime - starttime)); myApp.dispose(); if (!testPassed) @@ -92,8 +100,4 @@ public class AboutHandlerTest { robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); } - - private static void sleep(int millis) throws InterruptedException { - Thread.sleep(millis); - } }