Merge pull request #3749 from BrzVlad/fix-mips-fix
[mono.git] / mcs / class / System / Test / System.Net / HttpWebResponseTest.cs
index b76bd8b9a540c78d07220da3c91f55ec72c3bd2c..b2c8e90488c059be03460d907142b53827d3a03f 100644 (file)
@@ -24,14 +24,15 @@ namespace MonoTests.System.Net
        public class HttpWebResponseTest
        {
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void CharacterSet_Disposed ()
                {
                        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;
@@ -54,14 +55,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Close_Disposed ()
                {
                        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;
@@ -75,14 +77,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void ContentEncoding_Disposed ()
                {
                        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;
@@ -105,14 +108,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void ContentLength_Disposed ()
                {
                        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;
@@ -127,14 +131,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void ContentType_Disposed ()
                {
                        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;
@@ -157,14 +162,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Cookies_Disposed ()
                {
                        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;
@@ -197,14 +203,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void GetResponseHeader_Disposed ()
                {
                        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;
@@ -227,14 +234,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void GetResponseStream_Disposed ()
                {
                        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;
@@ -257,14 +265,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Headers_Disposed ()
                {
                        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;
@@ -286,14 +295,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void LastModified_Disposed ()
                {
                        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;
@@ -316,14 +326,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Method_Disposed ()
                {
                        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;
@@ -346,14 +357,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void ProtocolVersion_Disposed ()
                {
                        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;
@@ -376,14 +388,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void ResponseUri_Disposed ()
                {
                        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;
@@ -406,14 +419,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Server_Disposed ()
                {
                        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;
@@ -436,14 +450,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void StatusCode_Disposed ()
                {
                        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;
@@ -458,14 +473,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void StatusDescription_Disposed ()
                {
                        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;
@@ -511,14 +527,15 @@ namespace MonoTests.System.Net
        public class HttpResponseStreamTest
        {
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void BeginRead_Buffer_Null ()
                {
                        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;
@@ -562,14 +579,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void BeginWrite ()
                {
                        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 +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;
@@ -626,14 +642,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void CanSeek ()
                {
                        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;
@@ -655,14 +672,15 @@ namespace MonoTests.System.Net
                }
 
                [Test] // bug #324182
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void CanTimeout ()
                {
                        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;
@@ -684,14 +702,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void CanWrite ()
                {
                        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;
@@ -713,14 +732,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Read ()
                {
                        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;
@@ -752,14 +772,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Read_Buffer_Null ()
                {
                        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;
@@ -803,14 +824,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Read_Count_Negative ()
                {
                        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;
@@ -855,14 +877,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Read_Count_Overflow ()
                {
                        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;
@@ -907,14 +930,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Read_Offset_Negative ()
                {
                        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;
@@ -959,14 +983,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Read_Offset_Overflow ()
                {
                        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 +1042,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);
@@ -1077,14 +1100,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void ReadTimeout ()
                {
                        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;
@@ -1106,14 +1130,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void Write ()
                {
                        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;
@@ -1140,14 +1165,15 @@ namespace MonoTests.System.Net
                }
 
                [Test]
+#if FEATURE_NO_BSD_SOCKETS
+               [ExpectedException (typeof (PlatformNotSupportedException))]
+#endif
                public void WriteTimeout ()
                {
                        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;