From 834130ed3d4fa4623a23131759100cee0e60b02a Mon Sep 17 00:00:00 2001 From: Gonzalo Paniagua Javier Date: Sun, 28 Jun 2009 02:33:55 +0000 Subject: 2009-06-27 Gonzalo Paniagua Javier * SocketResponder.cs: the listener might be closed right before Accept() is called and in that case we get an EINVAL. * WebClientTest.cs: now that we might send separate packets for headers and body, wait a little bit before checking socket.Available. svn path=/trunk/mcs/; revision=137038 --- mcs/class/System/Test/System.Net/ChangeLog | 7 +++++++ mcs/class/System/Test/System.Net/SocketResponder.cs | 3 ++- mcs/class/System/Test/System.Net/WebClientTest.cs | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) (limited to 'mcs/class/System/Test') diff --git a/mcs/class/System/Test/System.Net/ChangeLog b/mcs/class/System/Test/System.Net/ChangeLog index faccdfe8cdc..e88a2918784 100644 --- a/mcs/class/System/Test/System.Net/ChangeLog +++ b/mcs/class/System/Test/System.Net/ChangeLog @@ -1,3 +1,10 @@ +2009-06-27 Gonzalo Paniagua Javier + + * SocketResponder.cs: the listener might be closed right before + Accept() is called and in that case we get an EINVAL. + * WebClientTest.cs: now that we might send separate packets for + headers and body, wait a little bit before checking socket.Available. + 2009-06-26 Gonzalo Paniagua Javier * HttpWebRequestTest.cs: add a bunch of tests provided by diff --git a/mcs/class/System/Test/System.Net/SocketResponder.cs b/mcs/class/System/Test/System.Net/SocketResponder.cs index 6c4d8fb464f..6ee086f6074 100644 --- a/mcs/class/System/Test/System.Net/SocketResponder.cs +++ b/mcs/class/System/Test/System.Net/SocketResponder.cs @@ -48,6 +48,7 @@ namespace MonoTests.System.Net private readonly object _syncRoot = new object (); private const int SOCKET_CLOSED = 10004; + private const int SOCKET_INVALID_ARGS = 10022; public SocketResponder (IPEndPoint localEP, SocketRequestHandler requestHandler) { @@ -116,7 +117,7 @@ namespace MonoTests.System.Net } } catch (SocketException ex) { // ignore interruption of blocking call - if (ex.ErrorCode != SOCKET_CLOSED) + if (ex.ErrorCode != SOCKET_CLOSED && ex.ErrorCode != SOCKET_INVALID_ARGS) throw; } finally { Thread.Sleep (500); diff --git a/mcs/class/System/Test/System.Net/WebClientTest.cs b/mcs/class/System/Test/System.Net/WebClientTest.cs index 9faf08cf5d7..ae0f22a6386 100644 --- a/mcs/class/System/Test/System.Net/WebClientTest.cs +++ b/mcs/class/System/Test/System.Net/WebClientTest.cs @@ -2041,6 +2041,9 @@ namespace MonoTests.System.Net int bytesReceived = socket.Receive (buffer); while (bytesReceived > 0) { ms.Write (buffer, 0, bytesReceived); + // We don't check for Content-Length or anything else here, so we give the client a little time to write + // after sending the headers + Thread.Sleep (200); if (socket.Available > 0) { bytesReceived = socket.Receive (buffer); } else { -- cgit v1.2.3