diff options
Diffstat (limited to 'mcs/class')
6 files changed, 138 insertions, 379 deletions
diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs index 00873070036..0019e05c278 100755 --- a/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs +++ b/mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SoapHttpClientProtocolTest.cs @@ -51,9 +51,7 @@ namespace MonoTests.System.Web.Services.Protocols public void OutParametersTest () { IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 5000); - using (SocketResponder sr = new SocketResponder (localEP, new SocketRequestHandler (OutParametersResponse))) { - sr.Start (); - + using (SocketResponder sr = new SocketResponder (localEP, s => OutParametersResponse (s))) { FooService service = new FooService (); service.Url = "http://" + IPAddress.Loopback.ToString () + ":5000/"; @@ -64,8 +62,6 @@ namespace MonoTests.System.Web.Services.Protocols Assert.AreEqual (0, a, "#A2"); Assert.IsFalse (b, "#A3"); service.Dispose (); - - sr.Stop (); } } @@ -74,9 +70,7 @@ namespace MonoTests.System.Web.Services.Protocols public void FaultTest () { IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 5000); - using (SocketResponder sr = new SocketResponder (localEP, new SocketRequestHandler (FaultResponse_Qualified))) { - sr.Start (); - + using (SocketResponder sr = new SocketResponder (localEP, s => FaultResponse_Qualified (s))) { FooService service = new FooService (); service.Url = "http://" + IPAddress.Loopback.ToString () + ":5000/"; try { @@ -99,13 +93,9 @@ namespace MonoTests.System.Web.Services.Protocols Assert.AreEqual ("Failure processing request.", ex.Message, "#A9"); } service.Dispose (); - - sr.Stop (); } - using (SocketResponder sr = new SocketResponder (localEP, new SocketRequestHandler (FaultResponse_Unqualified))) { - sr.Start (); - + using (SocketResponder sr = new SocketResponder (localEP, s => FaultResponse_Unqualified (s))) { FooService service = new FooService (); service.Url = "http://" + IPAddress.Loopback.ToString () + ":5000/"; try { @@ -128,8 +118,6 @@ namespace MonoTests.System.Web.Services.Protocols Assert.AreEqual ("Failure processing request.", ex.Message, "#B9"); } service.Dispose (); - - sr.Stop (); } } diff --git a/mcs/class/System/Test/System.Net.Sockets/TcpClientTest.cs b/mcs/class/System/Test/System.Net.Sockets/TcpClientTest.cs index d4769eb811b..fb9025b2310 100644 --- a/mcs/class/System/Test/System.Net.Sockets/TcpClientTest.cs +++ b/mcs/class/System/Test/System.Net.Sockets/TcpClientTest.cs @@ -78,9 +78,7 @@ namespace MonoTests.System.Net.Sockets public void CloseTest () { IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 8765); - using (SocketResponder sr = new SocketResponder (localEP, new SocketRequestHandler (CloseRequestHandler))) { - sr.Start (); - + using (SocketResponder sr = new SocketResponder (localEP, s => CloseRequestHandler (s))) { TcpClient tcpClient = new TcpClient (IPAddress.Loopback.ToString (), 8765); NetworkStream ns = tcpClient.GetStream (); Assert.IsNotNull (ns, "#A1"); @@ -105,9 +103,7 @@ namespace MonoTests.System.Net.Sockets */ } - using (SocketResponder sr = new SocketResponder (localEP, new SocketRequestHandler (CloseRequestHandler))) { - sr.Start (); - + using (SocketResponder sr = new SocketResponder (localEP, s => CloseRequestHandler (s))) { TcpClient tcpClient = new TcpClient (IPAddress.Loopback.ToString (), 8765); Assert.AreEqual (0, tcpClient.Available, "#B1"); Assert.IsTrue (tcpClient.Connected, "#B2"); diff --git a/mcs/class/System/Test/System.Net/HttpWebRequestTest.cs b/mcs/class/System/Test/System.Net/HttpWebRequestTest.cs index 20ee8020a98..ea928e50b30 100644 --- a/mcs/class/System/Test/System.Net/HttpWebRequestTest.cs +++ b/mcs/class/System/Test/System.Net/HttpWebRequestTest.cs @@ -100,9 +100,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -119,8 +117,6 @@ namespace MonoTests.System.Net response.Close (); rs.Close (); - - responder.Stop (); } } @@ -250,26 +246,24 @@ namespace MonoTests.System.Net string url = "http://" + ep.ToString () + "/test/"; foreach (DictionaryEntry de in methods) { - SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler)); - responder.Start (); - - HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); - req.Method = (string) de.Key; - req.Timeout = 2000; - req.ReadWriteTimeout = 2000; - req.KeepAlive = false; - Stream rs = req.GetRequestStream (); - rs.Close (); - using (HttpWebResponse resp = (HttpWebResponse) req.GetResponse ()) { - StreamReader sr = new StreamReader (resp.GetResponseStream (), - Encoding.UTF8); - string line = sr.ReadLine (); - sr.Close (); - Assert.AreEqual (((string) de.Value) + " /test/ HTTP/1.1", - line, req.Method); - resp.Close (); + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { + HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); + req.Method = (string) de.Key; + req.Timeout = 2000; + req.ReadWriteTimeout = 2000; + req.KeepAlive = false; + Stream rs = req.GetRequestStream (); + rs.Close (); + using (HttpWebResponse resp = (HttpWebResponse) req.GetResponse ()) { + StreamReader sr = new StreamReader (resp.GetResponseStream (), + Encoding.UTF8); + string line = sr.ReadLine (); + sr.Close (); + Assert.AreEqual (((string) de.Value) + " /test/ HTTP/1.1", + line, req.Method); + resp.Close (); + } } - responder.Stop (); } } @@ -279,9 +273,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest request; request = (HttpWebRequest) WebRequest.Create (url); @@ -318,9 +310,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; Stream rs; IAsyncResult ar; @@ -374,9 +364,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; req = (HttpWebRequest) WebRequest.Create (url); @@ -471,9 +459,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Abort (); @@ -498,9 +484,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Abort (); @@ -525,9 +509,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.BeginGetRequestStream (null, null); @@ -553,9 +535,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; IAsyncResult ar = req.BeginGetRequestStream (null, null); @@ -583,9 +563,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -609,9 +587,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Timeout = 2000; req.ReadWriteTimeout = 2000; @@ -642,9 +618,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -666,9 +640,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Abort (); @@ -694,9 +666,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; Stream rs; @@ -763,9 +733,7 @@ namespace MonoTests.System.Net string url = "http://" + ep.ToString () + "/test/"; // buffered, non-chunked - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; Stream rs; byte [] buffer; @@ -815,9 +783,7 @@ namespace MonoTests.System.Net } // buffered, chunked - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; Stream rs; byte [] buffer; @@ -853,9 +819,7 @@ namespace MonoTests.System.Net } // non-buffered, non-chunked - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; Stream rs; byte [] buffer; @@ -907,9 +871,7 @@ namespace MonoTests.System.Net } // non-buffered, chunked - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req; Stream rs; byte [] buffer; @@ -973,9 +935,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Abort (); @@ -1001,9 +961,7 @@ namespace MonoTests.System.Net IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 8764); string url = "http://" + localEP.ToString () + "/original/"; - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (RedirectRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => RedirectRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.AllowAutoRedirect = false; @@ -1024,7 +982,6 @@ namespace MonoTests.System.Net Assert.AreEqual (WebExceptionStatus.Timeout, ex.Status, "#5"); } } - responder.Stop (); } } @@ -1035,9 +992,7 @@ namespace MonoTests.System.Net string url = "http://" + localEP.ToString () + "/original/"; // allow autoredirect - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (RedirectRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => RedirectRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -1056,13 +1011,10 @@ namespace MonoTests.System.Net Assert.AreEqual ("GET", resp.Method, "#A3"); Assert.AreEqual ("LOOKS OK", body, "#A4"); } - responder.Stop (); } // do not allow autoredirect - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (RedirectRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => RedirectRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.AllowAutoRedirect = false; @@ -1076,7 +1028,6 @@ namespace MonoTests.System.Net Assert.AreEqual (url, resp.ResponseUri.ToString (), "#B2"); Assert.AreEqual ("POST", resp.Method, "#B3"); } - responder.Stop (); } } @@ -1086,9 +1037,7 @@ namespace MonoTests.System.Net IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 8769); string url = "http://" + localEP.ToString () + "/original/"; - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (RedirectRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => RedirectRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -1107,7 +1056,6 @@ namespace MonoTests.System.Net Assert.AreEqual ("GET", resp.Method, "#A3"); Assert.AreEqual ("LOOKS OK", body, "#A4"); } - responder.Stop (); } } @@ -1117,9 +1065,7 @@ namespace MonoTests.System.Net IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 8770); string url = "http://" + localEP.ToString () + "/original/"; - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (RedirectRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => RedirectRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -1138,7 +1084,6 @@ namespace MonoTests.System.Net Assert.AreEqual ("GET", resp.Method, "#A3"); Assert.AreEqual ("LOOKS OK", body, "#A4"); } - responder.Stop (); } } @@ -1148,9 +1093,7 @@ namespace MonoTests.System.Net IPEndPoint localEP = new IPEndPoint (IPAddress.Loopback, 8771); string url = "http://" + localEP.ToString () + "/original/"; - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (RedirectRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => RedirectRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -1169,7 +1112,6 @@ namespace MonoTests.System.Net Assert.AreEqual ("GET", resp.Method, "#A3"); Assert.AreEqual ("LOOKS OK", body, "#A4"); } - responder.Stop (); } } @@ -1181,9 +1123,7 @@ namespace MonoTests.System.Net string url = "http://" + localEP.ToString () + "/original/"; // POST - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (InternalErrorHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => InternalErrorHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -1206,14 +1146,10 @@ namespace MonoTests.System.Net Assert.AreEqual ("POST", webResponse.Method, "#A7"); webResponse.Close (); } - - responder.Stop (); } // GET - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (InternalErrorHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => InternalErrorHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -1233,8 +1169,6 @@ namespace MonoTests.System.Net Assert.AreEqual ("GET", webResponse.Method, "#B6"); webResponse.Close (); } - - responder.Stop (); } } @@ -1246,9 +1180,7 @@ namespace MonoTests.System.Net string url = "http://" + localEP.ToString () + "/original/"; // POST - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (NoContentLengthHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => NoContentLengthHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; req.Timeout = 2000; @@ -1288,14 +1220,10 @@ namespace MonoTests.System.Net HttpWebResponse webResponse = ex.Response as HttpWebResponse; Assert.IsNull (webResponse, "#A11"); } - - responder.Stop (); } // GET - using (SocketResponder responder = new SocketResponder (localEP, new SocketRequestHandler (NoContentLengthHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (localEP, s => NoContentLengthHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -1317,8 +1245,6 @@ namespace MonoTests.System.Net Assert.AreEqual ("GET", webResponse.Method, "#B6"); webResponse.Close (); } - - responder.Stop (); } } @@ -1328,9 +1254,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/moved/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (VerbEchoHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => VerbEchoHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "WhatEver"; req.KeepAlive = false; @@ -1351,8 +1275,6 @@ namespace MonoTests.System.Net Assert.AreEqual ("WhatEver", resp.Method, "#3"); Assert.AreEqual ("WhatEver", body, "#4"); } - - responder.Stop (); } } @@ -1363,9 +1285,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (NotModifiedSinceHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => NotModifiedSinceHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.KeepAlive = false; @@ -1393,8 +1313,6 @@ namespace MonoTests.System.Net TimeSpan elapsed = DateTime.Now - start; Assert.IsTrue (elapsed.TotalMilliseconds < 2000, "#4"); - - responder.Stop (); } } @@ -1504,11 +1422,7 @@ namespace MonoTests.System.Net using (var responder = new SocketResponder (ep, TimeOutHandler)) { - responder.Start (); - TestTimeOut (url, WebExceptionStatus.Timeout); - - responder.Stop (); } } @@ -2771,9 +2685,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString (); - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (CookieRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => CookieRequestHandler (s))) { CookieContainer container = new CookieContainer (); container.Add(new Uri (url), new Cookie ("foo", "bar")); HttpWebRequest request = (HttpWebRequest) WebRequest.Create (url); @@ -2790,9 +2702,7 @@ namespace MonoTests.System.Net Assert.AreEqual ("foo=bar", response.Headers.Get("Set-Cookie"), "#02"); } - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (CookieRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => CookieRequestHandler (s))) { CookieContainer container = new CookieContainer (); HttpWebRequest request = (HttpWebRequest) WebRequest.Create (url); request.CookieContainer = container; @@ -2859,9 +2769,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -2889,9 +2797,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -2918,9 +2824,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -2942,9 +2846,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -2966,9 +2868,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -2990,9 +2890,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3014,9 +2912,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3043,9 +2939,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3071,9 +2965,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3095,9 +2987,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3123,9 +3013,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3151,9 +3039,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3181,9 +3067,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3211,9 +3095,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3241,9 +3123,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3271,9 +3151,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3301,9 +3179,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3330,9 +3206,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; @@ -3359,9 +3233,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebRequestTest.EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebRequestTest.EchoRequestHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "POST"; diff --git a/mcs/class/System/Test/System.Net/HttpWebResponseTest.cs b/mcs/class/System/Test/System.Net/HttpWebResponseTest.cs index b76bd8b9a54..580c5488907 100644 --- a/mcs/class/System/Test/System.Net/HttpWebResponseTest.cs +++ b/mcs/class/System/Test/System.Net/HttpWebResponseTest.cs @@ -29,9 +29,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -59,9 +57,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -80,9 +76,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -110,9 +104,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -132,9 +124,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -162,9 +152,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -202,9 +190,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -232,9 +218,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -262,9 +246,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -291,9 +273,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -321,9 +301,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -351,9 +329,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -381,9 +357,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -411,9 +385,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -441,9 +413,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -463,9 +433,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -516,9 +484,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -567,9 +533,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -602,9 +566,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -631,9 +593,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -660,9 +620,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -689,9 +647,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -718,9 +674,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -757,9 +711,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -808,9 +760,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -860,9 +810,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -912,9 +860,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -964,9 +910,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -1017,9 +961,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req; req = (HttpWebRequest) WebRequest.Create (url); @@ -1082,9 +1024,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -1111,9 +1051,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; @@ -1145,9 +1083,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint(); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (HttpWebResponseTest.FullResponseHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => HttpWebResponseTest.FullResponseHandler (s))) { HttpWebRequest req = (HttpWebRequest) WebRequest.Create (url); req.Method = "GET"; req.Timeout = 2000; diff --git a/mcs/class/System/Test/System.Net/WebClientTest.cs b/mcs/class/System/Test/System.Net/WebClientTest.cs index 4b42be97f22..af3dcff673a 100644 --- a/mcs/class/System/Test/System.Net/WebClientTest.cs +++ b/mcs/class/System/Test/System.Net/WebClientTest.cs @@ -1423,9 +1423,7 @@ namespace MonoTests.System.Net IPEndPoint ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString () + "/test/"; - using (SocketResponder responder = new SocketResponder (ep, new SocketRequestHandler (EchoRequestHandler))) { - responder.Start (); - + using (SocketResponder responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { WebClient wc = new WebClient (); wc.Encoding = Encoding.ASCII; @@ -1880,10 +1878,8 @@ namespace MonoTests.System.Net var ep = NetworkHelpers.LocalEphemeralEndPoint (); string url = "http://" + ep.ToString() + "/test/"; - using (var responder = new SocketResponder (ep, EchoRequestHandler)) + using (var responder = new SocketResponder (ep, s => EchoRequestHandler (s))) { - responder.Start (); - var webClient = new WebClient (); var cancellationTokenSource = new CancellationTokenSource (); diff --git a/mcs/class/test-helpers/SocketResponder.cs b/mcs/class/test-helpers/SocketResponder.cs index 40c9a372473..ba3d0b8ef71 100644 --- a/mcs/class/test-helpers/SocketResponder.cs +++ b/mcs/class/test-helpers/SocketResponder.cs @@ -32,91 +32,64 @@ using System.IO; using System.Net; using System.Net.Sockets; using System.Text; -using System.Threading; +using System.Threading.Tasks; namespace MonoTests.Helpers { public delegate byte [] SocketRequestHandler (Socket socket); + public class SocketResponderException : Exception + { + public SocketResponderException (string message) + : base (message) + { + } + } + public class SocketResponder : IDisposable { private TcpListener tcpListener; - private readonly IPEndPoint _localEndPoint; - private Thread listenThread; + private Task listenTask; private Socket listenSocket; - private SocketRequestHandler _requestHandler; - private int _state = 0; - private readonly object _syncRoot = new object (); + private SocketRequestHandler requestHandler; + private bool disposed; private const int SOCKET_CLOSED = 10004; private const int SOCKET_INVALID_ARGS = 10022; - private const int STATE_UNINITIALIZED = 0; - private const int STATE_RUNNING = 1; - private const int STATE_STOPPED = 2; - - public SocketResponder (IPEndPoint localEP, SocketRequestHandler requestHandler) + public SocketResponder (IPEndPoint ep, SocketRequestHandler rh) { - _localEndPoint = localEP; - _requestHandler = requestHandler; - } + requestHandler = rh; - public IPEndPoint LocalEndPoint - { - get { return _localEndPoint; } + tcpListener = new TcpListener (ep); + tcpListener.Start (); + + listenTask = Task.Run (Listen); } public void Dispose () { - Stop (); - } + if (disposed) + return; - public bool IsStopped - { - get - { - lock (_syncRoot) { - return _state != STATE_RUNNING; - } - } - } + disposed = true; - public void Start () - { - lock (_syncRoot) { - if (_state != STATE_UNINITIALIZED) - throw new InvalidOperationException ("cannot restart SocketResponder"); - _state = STATE_RUNNING; - tcpListener = new TcpListener (LocalEndPoint); - tcpListener.Start (); - listenThread = new Thread (new ThreadStart (Listen)); - listenThread.Start (); - } - } + tcpListener.Stop (); - public void Stop () - { - lock (_syncRoot) { - if (_state != STATE_RUNNING) - return; - _state = STATE_STOPPED; - if (tcpListener != null) { - tcpListener.Stop (); - tcpListener = null; - if (listenSocket != null) - listenSocket.Close (); - Thread.Sleep (50); - } - } + if (listenSocket != null) + listenSocket.Close (); + + if (!listenTask.Wait (5000)) + throw new SocketResponderException ("Failed to stop in less than 5 seconds"); } private void Listen () { - while (_state == STATE_RUNNING) { + while (!disposed) { listenSocket = null; try { listenSocket = tcpListener.AcceptSocket (); - listenSocket.Send (_requestHandler (listenSocket)); + listenSocket.Send (requestHandler (listenSocket)); try { listenSocket.Shutdown (SocketShutdown.Receive); listenSocket.Shutdown (SocketShutdown.Send); @@ -124,11 +97,10 @@ namespace MonoTests.Helpers } } catch (SocketException ex) { // ignore interruption of blocking call - if (ex.ErrorCode != SOCKET_CLOSED && ex.ErrorCode != SOCKET_INVALID_ARGS && _state != STATE_STOPPED) + if (ex.ErrorCode != SOCKET_CLOSED && ex.ErrorCode != SOCKET_INVALID_ARGS && !disposed) throw; } catch (ObjectDisposedException ex) { - Console.WriteLine (ex); - if (_state != STATE_STOPPED) + if (!disposed) throw; #if MOBILE } catch (InvalidOperationException ex) { @@ -139,7 +111,6 @@ namespace MonoTests.Helpers Console.WriteLine (ex); #endif } finally { - Thread.Sleep (500); if (listenSocket != null) listenSocket.Close (); } |