-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8346324: javax/swing/JScrollBar/4865918/bug4865918.java fails in CI #22783
Conversation
👋 Welcome back psadhukhan! A progress list of the required criteria for merging this PR into |
@prsadhuk This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 113 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Webrevs
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the description you say, “scrollbar is not in focus when mouse is pressed.” Yet there's nothing in the test which handles the focus… even in the updated test.
However, I agree that your update makes the test more reliable, the latch guarantees the synthetic mouse event is handled before analysing the result.
So, it looks good exception for a couple of nits.
private static volatile CountDownLatch latch; | ||
|
||
public static void main(String[] argv) throws Exception { | ||
latch = new CountDownLatch(1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initialise the latch at its declaration.
private static volatile CountDownLatch latch; | |
public static void main(String[] argv) throws Exception { | |
latch = new CountDownLatch(1); | |
private static final CountDownLatch latch = new CountDownLatch(1); | |
public static void main(String[] argv) throws Exception { |
mousePressLatch
would be a more descriptive name.
@@ -52,6 +56,7 @@ public static void main(String[] argv) throws Exception { | |||
robot.delay(1000); | |||
|
|||
SwingUtilities.invokeAndWait(() -> sbar.pressMouse()); | |||
latch.await(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should use timed await
and throw an exception if the wait times out. This way the timeout would be handled more gracefully… and more quickly, a two-second timeout should be enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems good.
@@ -34,14 +34,18 @@ | |||
import javax.swing.JFrame; | |||
import javax.swing.JScrollBar; | |||
import javax.swing.SwingUtilities; | |||
import java.awt.event.MouseAdapter; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awt imports can be grouped together.
@@ -56,7 +56,7 @@ public static void main(String[] argv) throws Exception { | |||
robot.delay(1000); | |||
|
|||
SwingUtilities.invokeAndWait(() -> sbar.pressMouse()); | |||
latch.await(); | |||
mousePressLatch.await(2, TimeUnit.SECONDS); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mousePressLatch.await(2, TimeUnit.SECONDS); | |
if (!mousePressLatch.await(2, TimeUnit.SECONDS)) { | |
throw new RuntimeException("Timed out waiting for mouse press"); | |
} |
If you don't throw the exception, the test will continue to run… Yet we're sure it is likely to fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok..modified..
/integrate |
Going to push as commit a0b7c4f.
Your commit was automatically rebased without conflicts. |
javax/swing/JScrollBar/4865918/bug4865918.java fails in CI citing
java.lang.RuntimeException: The scrollbar block increment is incorrect
at bug4865918.main(bug4865918.java:60)
Seems like scrollbar is not in focus when mouse is pressed..Used CountDownLatch to mage focus gain more determinisitic.
Fix is passing in CI in several CI systems
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/22783/head:pull/22783
$ git checkout pull/22783
Update a local copy of the PR:
$ git checkout pull/22783
$ git pull https://git.openjdk.org/jdk.git pull/22783/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 22783
View PR using the GUI difftool:
$ git pr show -t 22783
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/22783.diff
Using Webrev
Link to Webrev Comment