File tree Expand file tree Collapse file tree 3 files changed +25
-5
lines changed
src/Microsoft.TestPlatform.CommunicationUtilities
test/Microsoft.TestPlatform.CommunicationUtilities.PlatformTests Expand file tree Collapse file tree 3 files changed +25
-5
lines changed Original file line number Diff line number Diff line change @@ -92,7 +92,7 @@ public void SendTestCaseStart(TestCaseStartEventArgs e)
92
92
this . communicationManager . SendMessage ( MessageType . DataCollectionTestStart , e ) ;
93
93
94
94
var message = this . communicationManager . ReceiveMessage ( ) ;
95
- if ( message . MessageType != MessageType . DataCollectionTestStartAck )
95
+ if ( message != null && message . MessageType != MessageType . DataCollectionTestStartAck )
96
96
{
97
97
if ( EqtTrace . IsErrorEnabled )
98
98
{
@@ -108,8 +108,7 @@ public Collection<AttachmentSet> SendTestCaseEnd(TestCaseEndEventArgs e)
108
108
this . communicationManager . SendMessage ( MessageType . DataCollectionTestEnd , e ) ;
109
109
110
110
var message = this . communicationManager . ReceiveMessage ( ) ;
111
-
112
- if ( message . MessageType == MessageType . DataCollectionTestEndResult )
111
+ if ( message != null && message . MessageType == MessageType . DataCollectionTestEndResult )
113
112
{
114
113
attachmentSets = this . dataSerializer . DeserializePayload < Collection < AttachmentSet > > ( message ) ;
115
114
}
Original file line number Diff line number Diff line change @@ -285,7 +285,12 @@ public void SendRawMessage(string rawMessage)
285
285
public Message ReceiveMessage ( )
286
286
{
287
287
var rawMessage = this . ReceiveRawMessage ( ) ;
288
- return this . dataSerializer . DeserializeMessage ( rawMessage ) ;
288
+ if ( ! string . IsNullOrEmpty ( rawMessage ) )
289
+ {
290
+ return this . dataSerializer . DeserializeMessage ( rawMessage ) ;
291
+ }
292
+
293
+ return null ;
289
294
}
290
295
291
296
/// <summary>
@@ -317,7 +322,7 @@ public string ReceiveRawMessage()
317
322
lock ( this . receiveSyncObject )
318
323
{
319
324
// Reading message on binaryreader is not thread-safe
320
- return this . binaryReader . ReadString ( ) ;
325
+ return this . binaryReader ? . ReadString ( ) ;
321
326
}
322
327
}
323
328
Original file line number Diff line number Diff line change @@ -297,6 +297,22 @@ public void SocketPollShouldNotHangServerClientCommunication()
297
297
Assert . IsTrue ( true ) ;
298
298
}
299
299
300
+ [ TestMethod ]
301
+ public async Task ReceiveRawMessageNotConnectedSocketShouldReturnNull ( )
302
+ {
303
+ var peer = new SocketCommunicationManager ( ) ;
304
+ Assert . IsNull ( peer . ReceiveRawMessage ( ) ) ;
305
+ Assert . IsNull ( await peer . ReceiveRawMessageAsync ( CancellationToken . None ) ) ;
306
+ }
307
+
308
+ [ TestMethod ]
309
+ public async Task ReceiveMessageNotConnectedSocketShouldReturnNull ( )
310
+ {
311
+ var peer = new SocketCommunicationManager ( ) ;
312
+ Assert . IsNull ( peer . ReceiveMessage ( ) ) ;
313
+ Assert . IsNull ( await peer . ReceiveMessageAsync ( CancellationToken . None ) ) ;
314
+ }
315
+
300
316
private static void SendData ( ICommunicationManager communicationManager )
301
317
{
302
318
// Having less than the buffer size in SocketConstants.BUFFERSIZE.
You can’t perform that action at this time.
0 commit comments