From c0c99309592de7a717391321c88b611cde627c74 Mon Sep 17 00:00:00 2001 From: amlu Date: Thu, 3 Nov 2016 15:40:55 +0800 Subject: [PATCH] 8143097: java/net/ipv6tests/UdpTest.java fails intermittently with "checkTime failed: got 1998 expected 4000" Reviewed-by: chegar --- test/java/net/ipv6tests/Tests.java | 16 +++++++++++----- test/java/net/ipv6tests/UdpTest.java | 3 +-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/test/java/net/ipv6tests/Tests.java b/test/java/net/ipv6tests/Tests.java index 8f1793bb3..dd8679403 100644 --- a/test/java/net/ipv6tests/Tests.java +++ b/test/java/net/ipv6tests/Tests.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -136,11 +136,17 @@ public class Tests { /* check the time got is within 50% of the time expected */ public static void checkTime (long got, long expected) { - dprintln ("checkTime: got " + got + " expected " + expected); - long upper = expected + (expected / 2); - long lower = expected - (expected / 2); + 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 " + expected); + throw new RuntimeException("checkTime failed: got " + got + + ", expected between " + start + " and " + end); } } diff --git a/test/java/net/ipv6tests/UdpTest.java b/test/java/net/ipv6tests/UdpTest.java index c5272157c..4b3f9b027 100644 --- a/test/java/net/ipv6tests/UdpTest.java +++ b/test/java/net/ipv6tests/UdpTest.java @@ -24,7 +24,6 @@ /* * @test * @bug 4868820 - * @key intermittent * @summary IPv6 support for Windows XP and 2003 server */ @@ -159,7 +158,7 @@ public class UdpTest extends Tests { }); t1 = System.currentTimeMillis(); s1.receive (new DatagramPacket (new byte [128], 128)); - checkTime (System.currentTimeMillis() - t1, 4000); + checkTime (System.currentTimeMillis() - t1, 2000, 10000); s1.close (); s2.close (); System.out.println ("Test2: OK"); -- GitLab