TooTallNate / Java-WebSocket

A barebones WebSocket client and server implementation written in 100% Java.
http://tootallnate.github.io/Java-WebSocket
MIT License
10.53k stars 2.58k forks source link

Fix a test failure (org.java_websocket.issues.Issue677Test#testIssue) #1292

Closed java-codehunger closed 1 year ago

java-codehunger commented 1 year ago

The flaky test failure is resolved with my fixes. I run the test 10,000 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) {}

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 10,000 times with the following command, and the test is never failed. mvn test -Dtest=org.java_websocket.issues.Issue677Test#testIssue

Types of changes

Checklist:

java-codehunger commented 1 year ago

Need to fix checkstyle of this project. Hence, I submit another pull request, which will preserves the checkstyle