RFR: 8301701 : java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened [v5]

Daniel Fuchs dfuchs at openjdk.org
Wed Feb 22 11:41:38 UTC 2023


On Tue, 21 Feb 2023 15:27:56 GMT, Darragh Clarke <duke at openjdk.org> wrote:

>> Updated `DatagramSocketMulticasting` to use Junit and also hardened the test to avoid occasional interference from other tests.
>> 
>> - Test now uses Junit Assertions, in general if the assertion used had been `assertTrue(foo==bar)` I replaced it with `assertEquals(foo,bar)` though there are some cases where I used `assertTrue` or `assertFalse`
>> - `testSendReceive` now retries up to 3 times if a message from an unexpected port is received
>> - Both `testSendReceive` and `testSendNoReceive` both have messages that use the methods name instead of just "hello"
>> 
>> Ran tiers 1-3 of tests as well as running this updated test to make sure it was stable
>
> Darragh Clarke has updated the pull request incrementally with one additional commit since the last revision:
> 
>   fixed wrong ordering of variables in assertEquals

Changes requested by dfuchs (Reviewer).

test/jdk/java/net/DatagramSocket/DatagramSocketMulticasting.java line 323:

> 321:             p = new DatagramPacket(new byte[1024], 100);
> 322:             s.receive(p);
> 323:             String messageReceived = new String(p.getData(), 0, p.getLength());

You should pass StandardCharset.UTF-8 to the string constructor here too.

test/jdk/java/net/DatagramSocket/DatagramSocketMulticasting.java line 370:

> 368:                     throw new RuntimeException("message shouldn't have been received");
> 369:                 } else {
> 370:                     String messageReceived = new String(p.getData(), 0, p.getLength());

Same here

-------------

PR: https://git.openjdk.org/jdk/pull/12513


More information about the net-dev mailing list