The flaky test failure is resolved with my fixes. I run the test many times, and every time the test passes.
Description
I only added the following code snippet at Line 898 of WebSocketClient.java
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println("Exception");
}
After the code inspection, I found that the test was failing because some threads could not finish its task. On the other hand, another thread finishes countDownLatch() and starts assertion execution. This solution will wait which lets other threads finish their task before the assertion execution.
How Has This Been Tested?
With my solution, I run the test many times with the following command, and the test has never failed.
mvn test -Dtest=org.java_websocket.issues.Issue677Test#testIssue
Types of changes
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
Environment(please complete the following information):
I ran the test on an Ubuntu 20.04 LTS machine using OpenJDK 1.8.0_312.
The flaky test failure is resolved with my fixes. I run the test many times, and every time the test passes.
Description
I only added the following code snippet at Line 898 of WebSocketClient.java try { Thread.sleep(100); } catch (InterruptedException e) { System.out.println("Exception"); }
Related Issue
https://github.com/TooTallNate/Java-WebSocket/issues/1291
Motivation and Context
After the code inspection, I found that the test was failing because some threads could not finish its task. On the other hand, another thread finishes countDownLatch() and starts assertion execution. This solution will wait which lets other threads finish their task before the assertion execution.
How Has This Been Tested?
With my solution, I run the test many times with the following command, and the test has never failed. mvn test -Dtest=org.java_websocket.issues.Issue677Test#testIssue
Types of changes
Checklist:
Environment(please complete the following information): I ran the test on an Ubuntu 20.04 LTS machine using OpenJDK 1.8.0_312.