> **Problem:** > > The `javax/swing/JRadioButton/ButtonGroupFocus/ButtonGroupFocusTest.java` > test fails in CI on Linux. > > The focus is on _Button 2_ instead of _Button 4_. > > **Root cause:** > > The additional logging revealed, an expected `KEY_PRESS` event. The test uses > `Robot` API to press the <kbd>Tab</kbd> key and release it. When the test > fails, there are two `KEY_PRESS` events followed by a single `KEY_RELEASE` > event. Because the <kbd>Tab</kbd> key is pressed twice, the focus moves > twice: from _Button 2_ (the initial state) to _Button 4_ and then > back to _Button 2_. > > **Fix:** > > Use `CountDownLatch`es to track whether a radio button received focus. Detect > the case where two `KEY_PRESS` events moved focus to _Button 2_ and > report the failure. > > Log focus movements and dispatched key events to facilitate failure analysis. > > Take a screenshot of the test frame in case of failure. > > These CI hosts seem to be quite slow, removing the delay added by > `robot.setAutoDelay(100)` has reduced the number of unexpected `KEY_PRESS` > events. This didn't affect Windows or macOS.
Alexey Ivanov has updated the pull request incrementally with one additional commit since the last revision: Replace AWTEventListener and PropertyChangeListener with lambdas ------------- Changes: - all: https://git.openjdk.org/jdk/pull/22977/files - new: https://git.openjdk.org/jdk/pull/22977/files/0e7376a3..e7991216 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=22977&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22977&range=00-01 Stats: 17 lines in 1 file changed: 0 ins; 11 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/22977.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/22977/head:pull/22977 PR: https://git.openjdk.org/jdk/pull/22977