From 6ab4a2f2180e97bd67c05b1189f2b61e584e7af8 Mon Sep 17 00:00:00 2001 From: Prasanta Sadhukhan Date: Thu, 22 Apr 2021 09:42:07 +0100 Subject: [PATCH 1/3] 8198619: java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java fails on mac --- test/jdk/ProblemList.txt | 1 - .../ButtonGroupLayoutTraversalTest.java | 107 ++++++++++-------- 2 files changed, 57 insertions(+), 51 deletions(-) diff --git a/test/jdk/ProblemList.txt b/test/jdk/ProblemList.txt index 6e92d402ebf29..248cf76bfa6a9 100644 --- a/test/jdk/ProblemList.txt +++ b/test/jdk/ProblemList.txt @@ -132,7 +132,6 @@ javax/swing/dnd/7171812/bug7171812.java 8041447 macosx-all java/awt/Focus/ChoiceFocus/ChoiceFocus.java 8169103 windows-all,macosx-all java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java 8198618 macosx-all java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java 6986252 macosx-all -java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java 8198619 macosx-all java/awt/Focus/KeyEventForBadFocusOwnerTest/KeyEventForBadFocusOwnerTest.java 8198621 macosx-all java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest.java 8194753 linux-all,macosx-all java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java 7152980 macosx-all diff --git a/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java b/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java index 12d3f5e60709a..2bd7adf110dbe 100644 --- a/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java +++ b/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2021, 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 @@ -58,71 +58,77 @@ public class ButtonGroupLayoutTraversalTest { public static void main(String[] args) throws Exception { - SwingUtilities.invokeAndWait(() -> changeLAF()); - SwingUtilities.invokeAndWait(() -> initLayout(nx, ny)); - Robot robot = new Robot(); - robot.setAutoDelay(100); - robot.waitForIdle(); - robot.delay(200); - - for (int i = 0; i < nx * ny - nx * ny / 2 - 1; i++) { - robot.keyPress(KeyEvent.VK_RIGHT); - robot.keyRelease(KeyEvent.VK_RIGHT); - } + try { + SwingUtilities.invokeAndWait(() -> changeLAF()); + SwingUtilities.invokeAndWait(() -> initLayout(nx, ny)); + Robot robot = new Robot(); + robot.setAutoDelay(100); + robot.waitForIdle(); + robot.delay(1000); + + for (int i = 0; i < nx * ny - nx * ny / 2 - 1; i++) { + robot.keyPress(KeyEvent.VK_RIGHT); + robot.keyRelease(KeyEvent.VK_RIGHT); + robot.waitForIdle(); + } - for (int i = 0; i < nx * ny / 2; i++) { - robot.keyPress(KeyEvent.VK_TAB); - robot.keyRelease(KeyEvent.VK_TAB); - } + for (int i = 0; i < nx * ny / 2; i++) { + robot.keyPress(KeyEvent.VK_TAB); + robot.keyRelease(KeyEvent.VK_TAB); + robot.waitForIdle(); + } - robot.waitForIdle(); - robot.delay(200); + robot.waitForIdle(); + robot.delay(200); - for (int i = 0; i < nx * ny; i++) { - if (focusCnt[i] < 1) { - SwingUtilities.invokeLater(window::dispose); - throw new RuntimeException("Component " + i + for (int i = 0; i < nx * ny; i++) { + if (focusCnt[i] < 1) { + throw new RuntimeException("Component " + i + " is not reachable in the forward focus cycle"); - } else if (focusCnt[i] > 1) { - SwingUtilities.invokeLater(window::dispose); - throw new RuntimeException("Component " + i + } else if (focusCnt[i] > 1) { + throw new RuntimeException("Component " + i + " got focus more than once in the forward focus cycle"); + } + } + + for (int i = 0; i < nx * ny / 2; i++) { + robot.keyPress(KeyEvent.VK_SHIFT); + robot.keyPress(KeyEvent.VK_TAB); + robot.keyRelease(KeyEvent.VK_TAB); + robot.keyRelease(KeyEvent.VK_SHIFT); + robot.waitForIdle(); + } + + for (int i = 0; i < nx * ny - nx * ny / 2 - 1; i++) { + robot.keyPress(KeyEvent.VK_LEFT); + robot.keyRelease(KeyEvent.VK_LEFT); + robot.waitForIdle(); } - } - for (int i = 0; i < nx * ny / 2; i++) { robot.keyPress(KeyEvent.VK_SHIFT); robot.keyPress(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_SHIFT); - } - - for (int i = 0; i < nx * ny - nx * ny / 2 - 1; i++) { - robot.keyPress(KeyEvent.VK_LEFT); - robot.keyRelease(KeyEvent.VK_LEFT); - } - - robot.keyPress(KeyEvent.VK_SHIFT); - robot.keyPress(KeyEvent.VK_TAB); - robot.keyRelease(KeyEvent.VK_TAB); - robot.keyRelease(KeyEvent.VK_SHIFT); + robot.waitForIdle(); - robot.waitForIdle(); - robot.delay(200); + robot.delay(200); - for (int i = 0; i < nx * ny; i++) { - if (focusCnt[i] < 2) { - SwingUtilities.invokeLater(window::dispose); - throw new RuntimeException("Component " + i + for (int i = 0; i < nx * ny; i++) { + if (focusCnt[i] < 2) { + throw new RuntimeException("Component " + i + " is not reachable in the backward focus cycle"); - } else if (focusCnt[i] > 2) { - SwingUtilities.invokeLater(window::dispose); - throw new RuntimeException("Component " + i + } else if (focusCnt[i] > 2) { + throw new RuntimeException("Component " + i + " got focus more than once in the backward focus cycle"); + } } - } - - SwingUtilities.invokeLater(window::dispose); + } finally { + SwingUtilities.invokeAndWait(() -> { + if (window != null) { + window.dispose(); + } + }); + } } private static void changeLAF() { @@ -179,6 +185,7 @@ public void focusGained(FocusEvent e) { } rootPanel.add(formPanel, BorderLayout.CENTER); window.add(rootPanel); + window.setLocationRelativeTo(null); window.pack(); window.setVisible(true); } From 4aea1d995af67f1199cfa5fed4c72cd0afb355b3 Mon Sep 17 00:00:00 2001 From: Prasanta Sadhukhan Date: Thu, 22 Apr 2021 10:04:24 +0100 Subject: [PATCH 2/3] Fix --- .../ButtonGroupLayoutTraversalTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java b/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java index 2bd7adf110dbe..2adc14ef0e4d6 100644 --- a/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java +++ b/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java @@ -128,7 +128,7 @@ public static void main(String[] args) throws Exception { window.dispose(); } }); - } + } } private static void changeLAF() { From dec7e3c0bfdc39f8d7dadc4d79b3219e04d8e55a Mon Sep 17 00:00:00 2001 From: Prasanta Sadhukhan Date: Mon, 26 Apr 2021 08:31:39 +0100 Subject: [PATCH 3/3] Fix --- .../ButtonGroupLayoutTraversalTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java b/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java index 2adc14ef0e4d6..40c2df3be041f 100644 --- a/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java +++ b/test/jdk/java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java @@ -78,7 +78,6 @@ public static void main(String[] args) throws Exception { robot.waitForIdle(); } - robot.waitForIdle(); robot.delay(200); for (int i = 0; i < nx * ny; i++) {