Merge pull request #2003 from esdrubal/seq_test_fix2
[mono.git] / mcs / class / System.ServiceModel / Test / System.ServiceModel.Dispatcher / Bug652331Test.cs
index ed5fb8b65c9cc31c43284bd985a0b33a7d369678..cdc68486779adc619e335eccabbb06dc4a72265c 100644 (file)
@@ -35,6 +35,8 @@ using NUnit.Framework;
 
 using WebServiceMoonlightTest.ServiceReference1;
 
+using MonoTests.Helpers;
+
 namespace MonoTests.System.ServiceModel.Dispatcher
 {
        [TestFixture]
@@ -44,7 +46,8 @@ namespace MonoTests.System.ServiceModel.Dispatcher
                public void Bug652331_2 () // test in one of the comment
                {
                        // Init service
-                       ServiceHost serviceHost = new ServiceHost (typeof (Service1), new Uri ("http://localhost:37564/Service1"));
+                       int port = NetworkHelpers.FindFreePort ();
+                       ServiceHost serviceHost = new ServiceHost (typeof (Service1), new Uri ("http://localhost:" + port + "/Service1"));
                        serviceHost.AddServiceEndpoint (typeof (IService1), new BasicHttpBinding (), string.Empty);
 
                        // Enable metadata exchange (WSDL publishing)
@@ -54,11 +57,12 @@ namespace MonoTests.System.ServiceModel.Dispatcher
                        serviceHost.AddServiceEndpoint (typeof (IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding (), "mex");
 
                        serviceHost.Open ();
+                       Thread.Sleep (2000);  // let WCF spin up
 
                        try {
                                // client
                                var binding = new BasicHttpBinding ();
-                               var remoteAddress = new EndpointAddress ("http://localhost:37564/Service1");
+                               var remoteAddress = new EndpointAddress ("http://localhost:" + port + "/Service1");
                                var client = new Service1Client (binding, remoteAddress);
 
                                var wait = new ManualResetEvent (false);