@@ -168,8 +168,12 @@ public static void WebSocket_Http_Duplex_Buffered(NetHttpMessageEncoding message
168168                "The logging done by the Server was not returned via the Callback." ) ; 
169169
170170            // *** CLEANUP *** \\ 
171-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
172-             channelFactory . Close ( ) ; 
171+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
172+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
173+             { 
174+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
175+                 channelFactory . Close ( ) ; 
176+             } 
173177        } 
174178        finally 
175179        { 
@@ -236,8 +240,12 @@ public static void WebSocket_Http_Duplex_Buffered_KeepAlive(NetHttpMessageEncodi
236240                "The logging done by the Server was not returned via the Callback." ) ; 
237241
238242            // *** CLEANUP *** \\ 
239-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
240-             channelFactory . Close ( ) ; 
243+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
244+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
245+             { 
246+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
247+                 channelFactory . Close ( ) ; 
248+             } 
241249        } 
242250        finally 
243251        { 
@@ -416,7 +424,6 @@ public static void WebSocket_Https_Duplex_Buffered(NetHttpMessageEncoding messag
416424    } 
417425
418426    [ WcfTheory ] 
419-     [ Condition ( nameof ( Skip_CoreWCFService_FailedTest ) ) ] 
420427    [ InlineData ( NetHttpMessageEncoding . Binary ) ] 
421428    [ InlineData ( NetHttpMessageEncoding . Text ) ] 
422429    [ InlineData ( NetHttpMessageEncoding . Mtom ) ] 
@@ -472,8 +479,12 @@ public static void WebSocket_Http_RequestReply_Streamed(NetHttpMessageEncoding m
472479            } 
473480
474481            // *** CLEANUP *** \\ 
475-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
476-             channelFactory . Close ( ) ; 
482+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
483+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
484+             { 
485+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
486+                 channelFactory . Close ( ) ; 
487+             } 
477488        } 
478489        finally 
479490        { 
@@ -487,7 +498,6 @@ public static void WebSocket_Http_RequestReply_Streamed(NetHttpMessageEncoding m
487498    [ InlineData ( NetHttpMessageEncoding . Text ) ] 
488499    [ InlineData ( NetHttpMessageEncoding . Mtom ) ] 
489500    [ Issue ( 1438 ,  OS  =  OSID . Windows_7 ) ]   // not supported on Win7 
490-     [ Condition ( nameof ( Skip_CoreWCFService_FailedTest ) ) ] 
491501    [ OuterLoop ] 
492502    public  static   void  WebSocket_Http_RequestReply_Buffered ( NetHttpMessageEncoding  messageEncoding ) 
493503    { 
@@ -527,8 +537,12 @@ public static void WebSocket_Http_RequestReply_Buffered(NetHttpMessageEncoding m
527537            } 
528538
529539            // *** CLEANUP *** \\ 
530-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
531-             channelFactory . Close ( ) ; 
540+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
541+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
542+             { 
543+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
544+                 channelFactory . Close ( ) ; 
545+             } 
532546        } 
533547        finally 
534548        { 
@@ -541,7 +555,6 @@ public static void WebSocket_Http_RequestReply_Buffered(NetHttpMessageEncoding m
541555    [ InlineData ( NetHttpMessageEncoding . Binary ) ] 
542556    [ InlineData ( NetHttpMessageEncoding . Text ) ] 
543557    [ InlineData ( NetHttpMessageEncoding . Mtom ) ] 
544-     [ Condition ( nameof ( Skip_CoreWCFService_FailedTest ) ) ] 
545558    [ Issue ( 1438 ,  OS  =  OSID . Windows_7 ) ]   // not supported on Win7 
546559    [ OuterLoop ] 
547560    public  static   void  WebSocket_Http_RequestReply_Buffered_KeepAlive ( NetHttpMessageEncoding  messageEncoding ) 
@@ -582,8 +595,12 @@ public static void WebSocket_Http_RequestReply_Buffered_KeepAlive(NetHttpMessage
582595            } 
583596
584597            // *** CLEANUP *** \\ 
585-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
586-             channelFactory . Close ( ) ; 
598+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
599+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
600+             { 
601+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
602+                 channelFactory . Close ( ) ; 
603+             } 
587604        } 
588605        finally 
589606        { 
@@ -596,8 +613,7 @@ public static void WebSocket_Http_RequestReply_Buffered_KeepAlive(NetHttpMessage
596613    [ InlineData ( NetHttpMessageEncoding . Binary ) ] 
597614    [ InlineData ( NetHttpMessageEncoding . Text ) ] 
598615    [ InlineData ( NetHttpMessageEncoding . Mtom ) ] 
599-     [ Condition ( nameof ( Root_Certificate_Installed ) , 
600-                nameof ( Skip_CoreWCFService_FailedTest ) ) ] 
616+     [ Condition ( nameof ( Root_Certificate_Installed ) ) ] 
601617    [ Issue ( 3572 ,  OS  =  OSID . OSX ) ] 
602618    [ Issue ( 1438 ,  OS  =  OSID . Windows_7 ) ]   // not supported on Win7 
603619    [ OuterLoop ] 
@@ -638,8 +654,12 @@ public static void WebSocket_Https_RequestReply_Buffered(NetHttpMessageEncoding
638654            } 
639655
640656            // *** CLEANUP *** \\ 
641-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
642-             channelFactory . Close ( ) ; 
657+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
658+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
659+             { 
660+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
661+                 channelFactory . Close ( ) ; 
662+             } 
643663        } 
644664        finally 
645665        { 
@@ -652,8 +672,7 @@ public static void WebSocket_Https_RequestReply_Buffered(NetHttpMessageEncoding
652672    [ InlineData ( NetHttpMessageEncoding . Binary ) ] 
653673    [ InlineData ( NetHttpMessageEncoding . Text ) ] 
654674    [ InlineData ( NetHttpMessageEncoding . Mtom ) ] 
655-     [ Condition ( nameof ( Root_Certificate_Installed ) , 
656-                nameof ( Skip_CoreWCFService_FailedTest ) ) ] 
675+     [ Condition ( nameof ( Root_Certificate_Installed ) ) ] 
657676    [ Issue ( 3572 ,  OS  =  OSID . OSX ) ] 
658677    [ Issue ( 1438 ,  OS  =  OSID . Windows_7 ) ]   // not supported on Win7 
659678    [ OuterLoop ] 
@@ -696,8 +715,12 @@ public static void WebSocket_Https_RequestReply_Buffered_KeepAlive(NetHttpMessag
696715            } 
697716
698717            // *** CLEANUP *** \\ 
699-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
700-             channelFactory . Close ( ) ; 
718+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
719+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
720+             { 
721+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
722+                 channelFactory . Close ( ) ; 
723+             } 
701724        } 
702725        finally 
703726        { 
@@ -862,8 +885,12 @@ public static void WebSocket_Http_VerifyWebSocketsUsed()
862885            Assert . True ( responseFromService ,  String . Format ( "Response from the service was not expected. Expected: 'True' but got {0}" ,  responseFromService ) ) ; 
863886
864887            // *** CLEANUP *** \\ 
865-             ( ( ICommunicationObject ) client ) . Close ( ) ; 
866-             channelFactory . Close ( ) ; 
888+             // Close the client and channel factory if not running on localhost. CoreWCF has a bug in Close method (on Linux). 
889+             if  ( ! ScenarioTestHelpers . IsLocalHost ( ) ) 
890+             { 
891+                 ( ( ICommunicationObject ) client ) . Close ( ) ; 
892+                 channelFactory . Close ( ) ; 
893+             } 
867894        } 
868895        finally 
869896        { 
0 commit comments