TooTallNate / Java-WebSocket

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

Test Flakiness is Fixed by adding the following changes #1293

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 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.