RFR: 8281511: java/net/ipv6tests/UdpTest.java fails with checkTime failed [v4]
Daniel Fuchs
dfuchs at openjdk.org
Fri Feb 28 17:12:58 UTC 2025
On Fri, 28 Feb 2025 14:40:28 GMT, serhiysachkov <duke at openjdk.org> wrote:
>> switching to nanoTime as suggested in ticket comments
>
> serhiysachkov has updated the pull request incrementally with one additional commit since the last revision:
>
> 8281511: update Copyright header
Additionally could you have a look at the superclass Tests.java? There is this code there:
/* check the time got is within 50% of the time expected */
public static void checkTime (long got, long expected) {
checkTime(got, expected, expected);
}
/* check the time got is between start and end, given 50% tolerance */
public static void checkTime(long got, long start, long end) {
dprintln("checkTime: got = " + got + " start = " + start + " end = " + end);
long upper = end + (end / 2);
long lower = start - (start / 2);
if (got > upper || got < lower) {
throw new RuntimeException("checkTime failed: got " + got
+ ", expected between " + start + " and " + end);
}
}
For the exception message, it would be better to use `lower` and `upper` instead of `start` and `end` - because when start == end the messsage lacks credibility.
test/jdk/java/net/ipv6tests/UdpTest.java line 149:
> 147: }
> 148: final long expectedTimeInNanos = TimeUnit.SECONDS.toNanos(4);
> 149: checkTime (System.nanoTime() - t1, expectedTimeInNanos);
Actually, maybe it would be better to keep the expectedTime in milliseconds here, and convert `System.nanoTime() - t1` to milliseconds before calling checkTime. We obviously don't need the nano second precision, and milliseconds are more human readable than nanoseconds when looking at the log.
test/jdk/java/net/ipv6tests/UdpTest.java line 183:
> 181: final long startTimeInNanos = TimeUnit.SECONDS.toNanos(2);
> 182: final long endTimeInNanos = TimeUnit.SECONDS.toNanos(10);
> 183: checkTime (System.nanoTime() - t1, startTimeInNanos, endTimeInNanos);
same remark here.
-------------
PR Review: https://git.openjdk.org/jdk/pull/23840#pullrequestreview-2651325490
PR Review Comment: https://git.openjdk.org/jdk/pull/23840#discussion_r1975746133
PR Review Comment: https://git.openjdk.org/jdk/pull/23840#discussion_r1975746875
More information about the net-dev
mailing list