From eeff03c59caa9f495685f6670bd95d83984b4d52 Mon Sep 17 00:00:00 2001 From: Sebastien Pouliot Date: Wed, 11 Sep 2013 20:57:59 -0400 Subject: [PATCH] Reduce/remove the probability of having test failures wrt UdpClient.Available --- .../Test/System.Net.Sockets/UdpClientTest.cs | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/mcs/class/System/Test/System.Net.Sockets/UdpClientTest.cs b/mcs/class/System/Test/System.Net.Sockets/UdpClientTest.cs index 6fa403c6075..710b4982c11 100644 --- a/mcs/class/System/Test/System.Net.Sockets/UdpClientTest.cs +++ b/mcs/class/System/Test/System.Net.Sockets/UdpClientTest.cs @@ -1051,16 +1051,21 @@ namespace MonoTests.System.Net.Sockets { [Test] public void Available () { - UdpClient client = new UdpClient (1238); - IPEndPoint ep = new IPEndPoint (IPAddress.Loopback, 1238); - byte[] bytes = new byte[] {10, 11, 12, 13}; - - client.Send (bytes, bytes.Length, ep); - int avail = client.Available; - - Assert.AreEqual (bytes.Length, avail, "Available #1"); + using (UdpClient client = new UdpClient (1238)) { + IPEndPoint ep = new IPEndPoint (IPAddress.Loopback, 1238); + byte[] bytes = new byte[] {10, 11, 12, 13}; + + int res = client.Send (bytes, bytes.Length, ep); + Assert.AreEqual (bytes.Length, res, "Send"); + + // that might happen too quickly, data sent and not yet received/available + Thread.Sleep (100); + int avail = client.Available; + + Assert.AreEqual (bytes.Length, avail, "Available #1"); - client.Close (); + client.Close (); + } } [Test] -- 2.25.1