Best Vstest code snippet using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities.TestRequestSender.OnClientProcessExit
TestRequestSenderTests.cs
Source:TestRequestSenderTests.cs
...93 [TestMethod]94 public void WaitForRequestHandlerConnectionWithTimeoutShouldReturnImmediatelyIfHostExitedUnexpectedly()95 {96 var cancellationTokenSource = new CancellationTokenSource();97 this.testRequestSender.OnClientProcessExit("DummyError");98 var connectionTimeout = 5000;99 var watch = System.Diagnostics.Stopwatch.StartNew();100 var connected = this.testRequestSender.WaitForRequestHandlerConnection(connectionTimeout, cancellationTokenSource.Token);101 watch.Stop();102 Assert.IsFalse(connected);103 Assert.IsTrue(watch.ElapsedMilliseconds < connectionTimeout);104 }105 [TestMethod]106 public void CloseShouldCallStopServerOnCommunicationManager()107 {108 this.testRequestSender.Close();109 this.mockServer.Verify(mc => mc.Stop(), Times.Once);110 }111 [TestMethod]112 public void DisposeShouldCallStopServerOnCommunicationManager()113 {114 this.testRequestSender.Dispose();115 this.mockServer.Verify(mc => mc.Stop(), Times.Once);116 }117 [TestMethod]118 public void EndSessionShouldSendSessionEndMessage()119 {120 this.SetupFakeCommunicationChannel();121 this.testRequestSender.EndSession();122 this.mockDataSerializer.Verify(ds => ds.SerializeMessage(MessageType.SessionEnd), Times.Once);123 this.mockChannel.Verify(c => c.Send(It.IsAny<string>()), Times.Once);124 }125 [TestMethod]126 public void EndSessionShouldNotSendSessionEndMessageIfClientDisconnected()127 {128 this.SetupFakeCommunicationChannel();129 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);130 this.RaiseClientDisconnectedEvent();131 this.testRequestSender.EndSession();132 this.mockDataSerializer.Verify(ds => ds.SerializeMessage(MessageType.SessionEnd), Times.Never);133 }134 [TestMethod]135 public void EndSessionShouldNotSendSessionEndMessageIfTestHostProcessExited()136 {137 this.SetupFakeCommunicationChannel();138 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);139 this.testRequestSender.OnClientProcessExit("Dummy Message");140 this.testRequestSender.EndSession();141 this.mockDataSerializer.Verify(ds => ds.SerializeMessage(MessageType.SessionEnd), Times.Once);142 }143 [TestMethod]144 public void EndSessionShouldNotSendTestRunCancelMessageIfClientDisconnected()145 {146 this.SetupFakeCommunicationChannel();147 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);148 this.RaiseClientDisconnectedEvent();149 this.testRequestSender.SendTestRunCancel();150 this.mockChannel.Verify(mockChannel => mockChannel.Send(MessageType.CancelTestRun), Times.Never);151 }152 [TestMethod]153 public void EndSessionShouldNotSendTestRunAbortMessageIfClientDisconnected()154 {155 this.SetupFakeCommunicationChannel();156 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);157 this.RaiseClientDisconnectedEvent();158 this.testRequestSender.SendTestRunAbort();159 this.mockChannel.Verify(mockChannel => mockChannel.Send(MessageType.CancelTestRun), Times.Never);160 }161 [DataTestMethod]162 [DataRow("")]163 [DataRow(" ")]164 [DataRow(null)]165 public void OnClientProcessExitShouldSendErrorMessageIfStdErrIsEmpty(string stderr)166 {167 this.SetupFakeCommunicationChannel();168 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);169 this.testRequestSender.OnClientProcessExit(stderr);170 var expectedErrorMessage = "Reason: Test host process crashed";171 this.RaiseClientDisconnectedEvent();172 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.EndsWith(expectedErrorMessage))), Times.Once);173 }174 [TestMethod]175 public void OnClientProcessExitShouldNotSendErrorMessageIfOperationNotStarted()176 {177 this.SetupFakeCommunicationChannel();178 this.testRequestSender.OnClientProcessExit("Dummy Stderr");179 this.RaiseClientDisconnectedEvent();180 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains("Dummy Stderr"))), Times.Never);181 }182 [TestMethod]183 public void OnClientProcessExitShouldNotSendRawMessageIfOperationNotStarted()184 {185 this.SetupFakeCommunicationChannel();186 this.testRequestSender.OnClientProcessExit("Dummy Stderr");187 this.RaiseClientDisconnectedEvent();188 this.mockDataSerializer.Verify(ds => ds.SerializePayload(MessageType.TestMessage, It.Is<TestMessagePayload>(p => p.Message.Contains("Dummy Stderr"))), Times.Never);189 this.mockExecutionEventsHandler.Verify(eh => eh.HandleRawMessage(It.IsAny<string>()), Times.Never);190 }191 #region Version Check Tests192 [TestMethod]193 public void CheckVersionWithTestHostShouldSendHighestSupportedVersion()194 {195 this.SetupDeserializeMessage(MessageType.VersionCheck, 99);196 this.SetupRaiseMessageReceivedOnCheckVersion();197 this.SetupFakeCommunicationChannel();198 this.testRequestSender.CheckVersionWithTestHost();199 this.mockDataSerializer.Verify(ds => ds.SerializePayload(MessageType.VersionCheck, DUMMYPROTOCOLVERSION), Times.Once);200 this.mockChannel.Verify(mc => mc.Send(It.IsAny<string>()), Times.Once);201 }202 [TestMethod]203 public void CheckVersionWithTestHostShouldThrowIfTestHostVersionDoesNotMatch()204 {205 this.SetupDeserializeMessage(MessageType.ProtocolError, string.Empty);206 this.SetupRaiseMessageReceivedOnCheckVersion();207 this.SetupFakeCommunicationChannel();208 Assert.ThrowsException<TestPlatformException>(() => this.testRequestSender.CheckVersionWithTestHost());209 }210 [TestMethod]211 public void CheckVersionWithTestHostShouldThrowIfUnexpectedResponseIsReceived()212 {213 this.SetupDeserializeMessage(MessageType.TestCasesFound, string.Empty);214 this.SetupRaiseMessageReceivedOnCheckVersion();215 this.SetupFakeCommunicationChannel();216 Assert.ThrowsException<TestPlatformException>(() => this.testRequestSender.CheckVersionWithTestHost());217 }218 [TestMethod]219 public void CheckVersionWithTestHostShouldThrowIfProtocolNegotiationTimeouts()220 {221 Environment.SetEnvironmentVariable(EnvironmentHelper.VstestConnectionTimeout, "0");222 this.SetupFakeCommunicationChannel();223 var message = Assert.ThrowsException<TestPlatformException>(() => this.testRequestSender.CheckVersionWithTestHost()).Message;224 Assert.AreEqual(message, TestRequestSenderTests.TimoutErrorMessage);225 }226 #endregion227 #region Discovery Protocol Tests228 [TestMethod]229 public void InitializeDiscoveryShouldSendCommunicationMessageWithCorrectParameters()230 {231 this.SetupFakeCommunicationChannel();232 this.testRequestSender.InitializeDiscovery(this.pathToAdditionalExtensions);233 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.DiscoveryInitialize, this.pathToAdditionalExtensions, 1), Times.Once);234 this.mockChannel.Verify(mc => mc.Send(It.IsAny<string>()), Times.Once);235 }236 [TestMethod]237 public void InitializeDiscoveryShouldSendCommunicationMessageWithCorrectParametersWithVersion()238 {239 this.SetupFakeChannelWithVersionNegotiation(DUMMYNEGOTIATEDPROTOCOLVERSION);240 this.testRequestSender.InitializeDiscovery(this.pathToAdditionalExtensions);241 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.DiscoveryInitialize, this.pathToAdditionalExtensions, DUMMYNEGOTIATEDPROTOCOLVERSION), Times.Once);242 }243 [TestMethod]244 public void DiscoverTestsShouldSendStartDiscoveryMessageOnChannel()245 {246 this.SetupFakeCommunicationChannel();247 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);248 this.mockDataSerializer.Verify(249 s => s.SerializePayload(MessageType.StartDiscovery, It.IsAny<DiscoveryCriteria>(), DEFAULTPROTOCOLVERSION),250 Times.Once);251 this.mockChannel.Verify(mc => mc.Send(It.IsAny<string>()), Times.Once);252 }253 [TestMethod]254 public void DiscoverTestsShouldSendStartDiscoveryMessageOnChannelWithVersion()255 {256 this.SetupFakeChannelWithVersionNegotiation(DUMMYNEGOTIATEDPROTOCOLVERSION);257 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);258 this.mockDataSerializer.Verify(259 s => s.SerializePayload(MessageType.StartDiscovery, It.IsAny<DiscoveryCriteria>(), DUMMYNEGOTIATEDPROTOCOLVERSION),260 Times.Once);261 }262 [TestMethod]263 public void DiscoverTestsShouldNotifyRawMessageOnMessageReceived()264 {265 this.SetupDeserializeMessage(MessageType.TestMessage, new TestMessagePayload());266 this.SetupFakeCommunicationChannel();267 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);268 this.RaiseMessageReceivedEvent();269 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleRawMessage("DummyData"), Times.Once);270 }271 [TestMethod]272 public void DiscoverTestsShouldNotifyDiscoveredTestsOnTestCasesFoundMessageReceived()273 {274 this.SetupDeserializeMessage<IEnumerable<TestCase>>(MessageType.TestCasesFound, new TestCase[2]);275 this.SetupFakeCommunicationChannel();276 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);277 this.RaiseMessageReceivedEvent();278 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleDiscoveredTests(It.Is<IEnumerable<TestCase>>(t => t.Count() == 2)));279 }280 [TestMethod]281 public void DiscoverTestsShouldNotifyDiscoveryCompleteOnCompleteMessageReceived()282 {283 var completePayload = new DiscoveryCompletePayload { TotalTests = 10, IsAborted = false };284 this.SetupDeserializeMessage(MessageType.DiscoveryComplete, completePayload);285 this.SetupFakeCommunicationChannel();286 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);287 this.RaiseMessageReceivedEvent();288 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleDiscoveryComplete(It.Is<DiscoveryCompleteEventArgs>(dc => dc.IsAborted == false && dc.TotalCount == 10), null));289 }290 [TestMethod]291 public void DiscoverTestsShouldStopServerOnCompleteMessageReceived()292 {293 var completePayload = new DiscoveryCompletePayload { TotalTests = 10, IsAborted = false };294 this.SetupDeserializeMessage(MessageType.DiscoveryComplete, completePayload);295 this.SetupFakeCommunicationChannel();296 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);297 this.RaiseMessageReceivedEvent();298 this.mockServer.Verify(ms => ms.Stop());299 }300 [TestMethod]301 public void DiscoverTestShouldNotifyLogMessageOnTestMessageReceived()302 {303 var message = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = "Message1" };304 this.SetupDeserializeMessage(MessageType.TestMessage, message);305 this.SetupFakeCommunicationChannel();306 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);307 this.RaiseMessageReceivedEvent();308 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, "Message1"));309 }310 [TestMethod]311 public void DiscoverTestShouldNotifyLogMessageIfExceptionThrownOnMessageReceived()312 {313 this.SetupExceptionOnMessageReceived();314 this.SetupFakeCommunicationChannel();315 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);316 this.RaiseMessageReceivedEvent();317 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains("Dummy Message"))));318 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleRawMessage("SerializedMessage"), Times.Once);319 }320 [TestMethod]321 public void DiscoverTestShouldNotifyDiscoveryCompleteIfExceptionThrownOnMessageReceived()322 {323 this.SetupExceptionOnMessageReceived();324 this.SetupFakeCommunicationChannel();325 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);326 this.RaiseMessageReceivedEvent();327 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleDiscoveryComplete(It.Is<DiscoveryCompleteEventArgs>(dc => dc.IsAborted == true && dc.TotalCount == -1), null));328 }329 [TestMethod]330 public void DiscoverTestsShouldNotAbortDiscoveryIfClientDisconnectedAndOperationIsComplete()331 {332 var completePayload = new DiscoveryCompletePayload { TotalTests = 10, IsAborted = false };333 this.SetupDeserializeMessage(MessageType.DiscoveryComplete, completePayload);334 this.SetupFakeCommunicationChannel();335 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);336 this.RaiseMessageReceivedEvent(); // Raise discovery complete337 this.RaiseClientDisconnectedEvent();338 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.IsAny<string>()), Times.Never);339 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleDiscoveryComplete(new DiscoveryCompleteEventArgs(-1, true), null), Times.Never);340 }341 [TestMethod]342 public void DiscoverTestShouldNotifyLogMessageIfClientDisconnected()343 {344 // Expect default error message since we've not set any client exit message345 var expectedErrorMessage = "Reason: Unable to communicate";346 this.SetupFakeCommunicationChannel();347 this.mockDataSerializer.Setup(ds => ds.SerializePayload(MessageType.TestMessage, It.Is<TestMessagePayload>(p => p.Message.Contains(expectedErrorMessage))))348 .Returns("Serialized error");349 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);350 this.RaiseClientDisconnectedEvent();351 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains(expectedErrorMessage))));352 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleRawMessage(It.Is<string>(s => !string.IsNullOrEmpty(s) && s.Equals("Serialized error"))), Times.Once);353 }354 [TestMethod]355 public void DiscoverTestShouldNotifyLogMessageIfClientDisconnectedWithClientExit()356 {357 this.SetupFakeCommunicationChannel();358 this.mockDataSerializer.Setup(ds => ds.SerializePayload(MessageType.TestMessage, It.Is<TestMessagePayload>(p => p.Message.Contains("Dummy Stderr"))))359 .Returns("Serialized Stderr");360 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);361 this.testRequestSender.OnClientProcessExit("Dummy Stderr");362 this.RaiseClientDisconnectedEvent();363 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains("Dummy Stderr"))), Times.Once);364 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleRawMessage(It.Is<string>(s => !string.IsNullOrEmpty(s) && s.Equals("Serialized Stderr"))), Times.Once);365 }366 [TestMethod]367 public void DiscoverTestShouldNotifyDiscoveryCompleteIfClientDisconnected()368 {369 this.SetupFakeCommunicationChannel();370 this.testRequestSender.DiscoverTests(new DiscoveryCriteria(), this.mockDiscoveryEventsHandler.Object);371 this.RaiseClientDisconnectedEvent();372 this.mockDiscoveryEventsHandler.Verify(eh => eh.HandleDiscoveryComplete(It.Is<DiscoveryCompleteEventArgs>(dc => dc.IsAborted == true && dc.TotalCount == -1), null));373 }374 #endregion375 #region Execution Protocol Tests376 [TestMethod]377 public void InitializeExecutionShouldSendCommunicationMessageWithCorrectParameters()378 {379 this.SetupFakeCommunicationChannel();380 this.testRequestSender.InitializeExecution(this.pathToAdditionalExtensions);381 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.ExecutionInitialize, this.pathToAdditionalExtensions, 1), Times.Once);382 this.mockChannel.Verify(mc => mc.Send(It.IsAny<string>()), Times.Once);383 }384 [TestMethod]385 public void InitializeExecutionShouldSendCommunicationMessageWithCorrectParametersWithVersion()386 {387 this.SetupFakeChannelWithVersionNegotiation(DUMMYNEGOTIATEDPROTOCOLVERSION);388 this.testRequestSender.InitializeExecution(this.pathToAdditionalExtensions);389 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.ExecutionInitialize, this.pathToAdditionalExtensions, DUMMYNEGOTIATEDPROTOCOLVERSION), Times.Once);390 }391 [TestMethod]392 public void StartTestRunShouldSendStartTestExecutionWithSourcesOnChannel()393 {394 this.SetupFakeCommunicationChannel();395 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);396 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.StartTestExecutionWithSources, this.testRunCriteriaWithSources, DEFAULTPROTOCOLVERSION), Times.Once);397 this.mockChannel.Verify(mc => mc.Send(It.IsAny<string>()), Times.Once);398 }399 [TestMethod]400 public void StartTestRunShouldSendStartTestExecutionWithSourcesOnChannelWithVersion()401 {402 this.SetupFakeChannelWithVersionNegotiation(DUMMYNEGOTIATEDPROTOCOLVERSION);403 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);404 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.StartTestExecutionWithSources, this.testRunCriteriaWithSources, DUMMYNEGOTIATEDPROTOCOLVERSION), Times.Once);405 }406 [TestMethod]407 public void StartTestRunWithTestsShouldSendStartTestExecutionWithTestsOnChannel()408 {409 var runCriteria = new TestRunCriteriaWithTests(new TestCase[2], "runsettings", null, null);410 this.SetupFakeCommunicationChannel();411 this.testRequestSender.StartTestRun(runCriteria, this.mockExecutionEventsHandler.Object);412 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.StartTestExecutionWithTests, runCriteria, DEFAULTPROTOCOLVERSION), Times.Once);413 this.mockChannel.Verify(mc => mc.Send(It.IsAny<string>()), Times.Once);414 }415 [TestMethod]416 public void StartTestRunWithTestsShouldSendStartTestExecutionWithTestsOnChannelWithVersion()417 {418 var runCriteria = new TestRunCriteriaWithTests(new TestCase[2], "runsettings", null, null);419 this.SetupFakeChannelWithVersionNegotiation(DUMMYNEGOTIATEDPROTOCOLVERSION);420 this.testRequestSender.StartTestRun(runCriteria, this.mockExecutionEventsHandler.Object);421 this.mockDataSerializer.Verify(d => d.SerializePayload(MessageType.StartTestExecutionWithTests, runCriteria, DUMMYNEGOTIATEDPROTOCOLVERSION), Times.Once);422 }423 [TestMethod]424 public void StartTestRunShouldNotifyRawMessageOnMessageReceived()425 {426 this.SetupDeserializeMessage(MessageType.TestMessage, new TestMessagePayload());427 this.SetupFakeCommunicationChannel();428 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);429 this.RaiseMessageReceivedEvent();430 this.mockExecutionEventsHandler.Verify(eh => eh.HandleRawMessage("DummyData"), Times.Once);431 }432 [TestMethod]433 public void StartTestRunShouldNotifyTestRunStatsChangeOnRunStatsMessageReceived()434 {435 var testRunChangedArgs = new TestRunChangedEventArgs(436 null,437 new Microsoft.VisualStudio.TestPlatform.ObjectModel.TestResult[2],438 new TestCase[2]);439 this.SetupDeserializeMessage(MessageType.TestRunStatsChange, testRunChangedArgs);440 this.SetupFakeCommunicationChannel();441 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);442 this.RaiseMessageReceivedEvent();443 this.mockExecutionEventsHandler.Verify(eh => eh.HandleTestRunStatsChange(testRunChangedArgs), Times.Once);444 }445 [TestMethod]446 public void StartTestRunShouldNotifyExecutionCompleteOnRunCompleteMessageReceived()447 {448 var testRunCompletePayload = new TestRunCompletePayload449 {450 TestRunCompleteArgs = new TestRunCompleteEventArgs(null, false, false, null, null, TimeSpan.MaxValue),451 LastRunTests = new TestRunChangedEventArgs(null, null, null),452 RunAttachments = new List<AttachmentSet>()453 };454 this.SetupDeserializeMessage(MessageType.ExecutionComplete, testRunCompletePayload);455 this.SetupFakeCommunicationChannel();456 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);457 this.RaiseMessageReceivedEvent();458 this.mockExecutionEventsHandler.Verify(459 eh => eh.HandleTestRunComplete(460 testRunCompletePayload.TestRunCompleteArgs,461 testRunCompletePayload.LastRunTests,462 testRunCompletePayload.RunAttachments,463 It.IsAny<ICollection<string>>()),464 Times.Once);465 }466 [TestMethod]467 public void StartTestRunShouldStopServerOnRunCompleteMessageReceived()468 {469 var testRunCompletePayload = new TestRunCompletePayload470 {471 TestRunCompleteArgs = new TestRunCompleteEventArgs(null, false, false, null, null, TimeSpan.MaxValue),472 LastRunTests = new TestRunChangedEventArgs(null, null, null),473 RunAttachments = new List<AttachmentSet>()474 };475 this.SetupDeserializeMessage(MessageType.ExecutionComplete, testRunCompletePayload);476 this.SetupFakeCommunicationChannel();477 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);478 this.RaiseMessageReceivedEvent();479 this.mockServer.Verify(ms => ms.Stop());480 }481 [TestMethod]482 public void StartTestRunShouldNotifyLogMessageOnTestMessageReceived()483 {484 var testMessagePayload = new TestMessagePayload { MessageLevel = TestMessageLevel.Error, Message = "Dummy" };485 this.SetupDeserializeMessage(MessageType.TestMessage, testMessagePayload);486 this.SetupFakeCommunicationChannel();487 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);488 this.RaiseMessageReceivedEvent();489 this.mockExecutionEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, "Dummy"), Times.Once);490 }491 [TestMethod]492 public void StartTestRunShouldNotifyLaunchWithDebuggerOnMessageReceived()493 {494 var launchMessagePayload = new TestProcessStartInfo();495 this.SetupDeserializeMessage(MessageType.LaunchAdapterProcessWithDebuggerAttached, launchMessagePayload);496 this.SetupFakeCommunicationChannel();497 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);498 this.RaiseMessageReceivedEvent();499 this.mockExecutionEventsHandler.Verify(eh => eh.LaunchProcessWithDebuggerAttached(launchMessagePayload), Times.Once);500 }501 [TestMethod]502 public void StartTestRunShouldSendLaunchDebuggerAttachedCallbackOnMessageReceived()503 {504 var launchMessagePayload = new TestProcessStartInfo();505 this.SetupDeserializeMessage(MessageType.LaunchAdapterProcessWithDebuggerAttached, launchMessagePayload);506 this.SetupFakeCommunicationChannel();507 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);508 this.RaiseMessageReceivedEvent();509 this.mockDataSerializer.Verify(ds => ds.SerializePayload(MessageType.LaunchAdapterProcessWithDebuggerAttachedCallback, It.IsAny<int>(), 1), Times.Once);510 this.mockChannel.Verify(c => c.Send(It.IsAny<string>()), Times.AtLeastOnce);511 }512 [TestMethod]513 public void StartTestRunShouldSendLaunchDebuggerAttachedCallbackOnMessageReceivedWithVersion()514 {515 var launchMessagePayload = new TestProcessStartInfo();516 this.SetupFakeChannelWithVersionNegotiation(DUMMYNEGOTIATEDPROTOCOLVERSION);517 this.SetupDeserializeMessage(MessageType.LaunchAdapterProcessWithDebuggerAttached, launchMessagePayload);518 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);519 this.RaiseMessageReceivedEvent();520 this.mockDataSerializer.Verify(ds => ds.SerializePayload(MessageType.LaunchAdapterProcessWithDebuggerAttachedCallback, It.IsAny<int>(), DUMMYNEGOTIATEDPROTOCOLVERSION), Times.Once);521 }522 [TestMethod]523 public void StartTestRunShouldNotifyLogMessageIfExceptionIsThrownOnMessageReceived()524 {525 this.SetupExceptionOnMessageReceived();526 this.SetupFakeCommunicationChannel();527 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);528 this.RaiseMessageReceivedEvent();529 this.mockExecutionEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains("Dummy Message"))), Times.Once);530 this.mockExecutionEventsHandler.Verify(eh => eh.HandleRawMessage("SerializedMessage"), Times.Once);531 }532 [TestMethod]533 public void StartTestRunShouldNotifyExecutionCompleteIfExceptionIsThrownOnMessageReceived()534 {535 this.SetupExceptionOnMessageReceived();536 this.SetupFakeCommunicationChannel();537 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);538 this.RaiseMessageReceivedEvent();539 this.mockExecutionEventsHandler.Verify(eh => eh.HandleTestRunComplete(It.Is<TestRunCompleteEventArgs>(t => t.IsAborted), null, null, null), Times.Once);540 this.mockExecutionEventsHandler.Verify(eh => eh.HandleRawMessage("SerializedAbortedPayload"), Times.Once);541 }542 [TestMethod]543 public void StartTestRunShouldNotNotifyExecutionCompleteIfClientDisconnectedAndOperationComplete()544 {545 var testRunCompletePayload = new TestRunCompletePayload546 {547 TestRunCompleteArgs = new TestRunCompleteEventArgs(null, false, false, null, null, TimeSpan.MaxValue),548 LastRunTests = new TestRunChangedEventArgs(null, null, null),549 RunAttachments = new List<AttachmentSet>()550 };551 this.SetupDeserializeMessage(MessageType.ExecutionComplete, testRunCompletePayload);552 this.SetupFakeCommunicationChannel();553 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);554 this.RaiseMessageReceivedEvent(); // Raise test run complete555 this.RaiseClientDisconnectedEvent();556 this.mockExecutionEventsHandler.Verify(eh => eh.HandleTestRunComplete(It.Is<TestRunCompleteEventArgs>(t => t.IsAborted), null, null, null), Times.Never);557 this.mockExecutionEventsHandler.Verify(eh => eh.HandleRawMessage("SerializedAbortedPayload"), Times.Never);558 }559 [TestMethod]560 public void StartTestRunShouldNotifyErrorLogMessageIfClientDisconnected()561 {562 this.SetupFakeCommunicationChannel();563 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);564 this.RaiseClientDisconnectedEvent();565 // Expect default error message since we've not set any client exit message566 var expectedErrorMessage = "Reason: Unable to communicate";567 this.mockExecutionEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains(expectedErrorMessage))), Times.Once);568 }569 [TestMethod]570 public void StartTestRunShouldNotifyErrorLogMessageIfClientDisconnectedWithClientExit()571 {572 this.SetupFakeCommunicationChannel();573 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);574 this.testRequestSender.OnClientProcessExit("Dummy Stderr");575 this.RaiseClientDisconnectedEvent();576 var expectedErrorMessage = "Reason: Test host process crashed : Dummy Stderr";577 this.mockExecutionEventsHandler.Verify(eh => eh.HandleLogMessage(TestMessageLevel.Error, It.Is<string>(s => s.Contains(expectedErrorMessage))), Times.Once);578 }579 [TestMethod]580 public void StartTestRunShouldNotifyExecutionCompleteIfClientDisconnected()581 {582 this.SetupOperationAbortedPayload();583 this.SetupFakeCommunicationChannel();584 this.testRequestSender.StartTestRun(this.testRunCriteriaWithSources, this.mockExecutionEventsHandler.Object);585 this.RaiseClientDisconnectedEvent();586 this.mockExecutionEventsHandler.Verify(eh => eh.HandleTestRunComplete(It.Is<TestRunCompleteEventArgs>(t => t.IsAborted), null, null, null), Times.Once);587 this.mockExecutionEventsHandler.Verify(eh => eh.HandleRawMessage("SerializedAbortedPayload"), Times.Once);588 }...
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10using System.Diagnostics;11using System.IO;12using System.Threading;13{14 {15 static void Main(string[] args)16 {17 var testRequestSender = new TestRequestSender();18 testRequestSender.InitializeCommunication();19 testRequestSender.OnClientProcessExit += testRequestSender_OnClientProcessExit;20 testRequestSender.StartTestRun(21 new TestRunCriteria(new List<string> { "C:\\Users\\sudhakar\\Documents\\Visual Studio 2013\\Projects\\ConsoleApplication1\\ConsoleApplication1\\bin\\Debug\\ConsoleApplication1.exe" }, 1, true, null),22 new TestPlatformOptions(),23 new TestRunEventsHandler());24 Console.ReadLine();25 }26 static void testRequestSender_OnClientProcessExit(object sender, EventArgs e)27 {28 Console.WriteLine("testRequestSender_OnClientProcessExit");29 }30 }31}32using System;33using System.Collections.Generic;34using System.Linq;35using System.Text;36using System.Threading.Tasks;37using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;38using Microsoft.VisualStudio.TestPlatform.ObjectModel;39using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;40using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;41using System.Diagnostics;42using System.IO;43using System.Threading;44{45 {46 static void Main(string[] args)47 {48 var testRequestSender = new TestRequestSender();49 testRequestSender.InitializeCommunication();50 testRequestSender.OnClientProcessExit += testRequestSender_OnClientProcessExit;51 testRequestSender.StartTestRun(52 new TestRunCriteria(new List<string> { "C:\\Users\\sudhakar\\Documents\\Visual Studio 2013\\Projects\\ConsoleApplication1\\ConsoleApplication1\\bin\\Debug\\ConsoleApplication1.exe" }, 1, true, null),53 new TestPlatformOptions(),54 new TestRunEventsHandler());55 Console.ReadLine();56 }57 static void testRequestSender_OnClientProcessExit(object sender, EventArgs e)58 {59 Console.WriteLine("testRequestSender
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10using Microsoft.VisualStudio.TestPlatform.ObjectModel.Utilities;11using System.Diagnostics;12using System.Threading;13using System.Runtime.InteropServices;14using System.IO;15using System.Reflection;16using System.Xml;17using System.Xml.Linq;18using System.Runtime.Serialization;19using System.Runtime.Serialization.Json;20using System.Net.Http;21using System.Net.Http.Headers;22using System.Net;23{24 {25 public void HandleDiscoveryComplete(int totalTests, IEnumerable<TestCase> lastChunk, bool isAborted, IEnumerable<TestCase> newTests, IEnumerable<TestCase> modifiedTests, IEnumerable<TestCase> deletedTests, ITestRunSettings newRunSettings, IEnumerable<string> executorUris, TimeSpan elapsedTime)26 {27 Console.WriteLine("Total tests: {0}", totalTests);28 Console.WriteLine("Last chunk: {0}", lastChunk);29 Console.WriteLine("Is aborted: {0}", isAborted);30 Console.WriteLine("New tests: {0}", newTests);31 Console.WriteLine("Modified tests: {0}", modifiedTests);32 Console.WriteLine("Deleted tests: {0}", deletedTests);33 Console.WriteLine("New run settings: {0}", newRunSettings);34 Console.WriteLine("Executor URIs: {0}", executorUris);35 Console.WriteLine("Elapsed time: {0}", elapsedTime);36 }37 public void HandleDiscoveredTests(IEnumerable<TestCase> discoveredTestCases)38 {39 Console.WriteLine("Discovered test cases: {0}", discoveredTestCases);40 }41 public void HandleLogMessage(TestMessageLevel level, string message)42 {43 Console.WriteLine("Log message: {0} - {1}", level, message);44 }45 public void HandleRawMessage(string rawMessage)46 {47 Console.WriteLine("Raw message: {0}", rawMessage);48 }49 }50 {51 public void HandleRawMessage(string rawMessage)52 {53 Console.WriteLine("Raw message: {0}", rawMessage);54 }55 public void HandleLogMessage(TestMessageLevel level, string message)56 {57 Console.WriteLine("Log message: {0} - {1}", level
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7{8 {9 static void Main(string[] args)10 {11 TestRequestSender sender = new TestRequestSender();12 sender.OnClientProcessExit += Sender_OnClientProcessExit;13 sender.InitializeCommunication();14 Console.ReadLine();15 }16 private static void Sender_OnClientProcessExit(object sender, EventArgs e)17 {18 Console.WriteLine("Client exited");19 }20 }21}22using System;23using System.Collections.Generic;24using System.Linq;25using System.Text;26using System.Threading.Tasks;27using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;28{29 {30 static void Main(string[] args)31 {32 TestRequestSender sender = new TestRequestSender();33 sender.OnClientProcessExit += Sender_OnClientProcessExit;34 sender.InitializeCommunication();35 Console.ReadLine();36 }37 private static void Sender_OnClientProcessExit(object sender, EventArgs e)38 {39 Console.WriteLine("Client exited");40 }41 }42}43using System;44using System.Collections.Generic;45using System.Linq;46using System.Text;47using System.Threading.Tasks;48using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;49{50 {51 static void Main(string[] args)52 {53 TestRequestSender sender = new TestRequestSender();54 sender.OnClientProcessExit += Sender_OnClientProcessExit;55 sender.InitializeCommunication();56 Console.ReadLine();57 }58 private static void Sender_OnClientProcessExit(object sender, EventArgs e)59 {60 Console.WriteLine("Client exited");61 }62 }63}64using System;65using System.Collections.Generic;66using System.Linq;67using System.Text;68using System.Threading.Tasks;69using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;70{71 {72 static void Main(string[] args)73 {74 TestRequestSender sender = new TestRequestSender();
OnClientProcessExit
Using AI Code Generation
1using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;2using Microsoft.VisualStudio.TestPlatform.ObjectModel;3using System;4using System.Collections.Generic;5using System.Linq;6using System.Text;7using System.Threading.Tasks;8{9 {10 static void Main(string[] args)11 {12 TestRequestSender sender = new TestRequestSender();13 sender.OnClientProcessExit += Sender_OnClientProcessExit;14 Console.ReadLine();15 }16 private static void Sender_OnClientProcessExit(object sender, EventArgs e)17 {18 Console.WriteLine("Process exited");19 }20 }21}22using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;23using Microsoft.VisualStudio.TestPlatform.ObjectModel;24using System;25using System.Collections.Generic;26using System.Linq;27using System.Text;28using System.Threading.Tasks;29{30 {31 static void Main(string[] args)32 {33 TestRequestSender sender = new TestRequestSender();34 sender.OnClientProcessExit += Sender_OnClientProcessExit;35 Console.ReadLine();36 }37 private static void Sender_OnClientProcessExit(object sender, EventArgs e)38 {39 Console.WriteLine("Process exited");40 }41 }42}43using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;44using Microsoft.VisualStudio.TestPlatform.ObjectModel;45using System;46using System.Collections.Generic;47using System.Linq;48using System.Text;49using System.Threading.Tasks;50{51 {52 static void Main(string[] args)53 {54 TestRequestSender sender = new TestRequestSender();55 sender.OnClientProcessExit += Sender_OnClientProcessExit;56 Console.ReadLine();57 }58 private static void Sender_OnClientProcessExit(object sender, EventArgs e)59 {60 Console.WriteLine("Process exited");61 }62 }63}64using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;65using Microsoft.VisualStudio.TestPlatform.ObjectModel;66using System;67using System.Collections.Generic;68using System.Linq;69using System.Text;70using System.Threading.Tasks;71{72 {73 static void Main(string[] args)
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.IO;4using System.Linq;5using System.Reflection;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10{11 {12 static void Main(string[] args)13 {14 var testRequestSender = new TestRequestSender();15 testRequestSender.InitializeCommunication();16 testRequestSender.LaunchTestHost(new TestProcessStartInfo17 {18 FileName = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\TestPlatform\\vstest.console.exe",19 Arguments = string.Format("\"{0}\"", "3.dll"),20 {21 { "PATH", Environment.GetEnvironmentVariable("PATH") }22 }23 }, 5000);24 testRequestSender.DiscoverTests(new[] { "3.dll" }, null, null, new TestPlatformOptions(), new DiscoveryEventHandler());25 Console.ReadLine();26 }27 }28 {29 public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryCompleteEventArgs, IEnumerable<TestCase> lastChunk)30 {31 Console.WriteLine("Discovery complete");32 }33 public void HandleDiscoveredTests(IEnumerable<TestCase> discoveredTestCases)34 {35 Console.WriteLine("Discovered tests");36 }37 public void HandleRawMessage(string rawMessage)38 {39 Console.WriteLine("Raw message");40 }41 public void HandleLogMessage(TestMessageLevel level, string message)42 {43 Console.WriteLine("Log message");44 }45 }46 {47 public void HandleTestRunComplete(TestRunCompleteEventArgs testRunCompleteEventArgs, IEnumerable<AttachmentSet> lastChunk)48 {49 Console.WriteLine("Test run complete");50 }51 public void HandleTestRunStatsChange(Test
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.Threading;4using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;5using Microsoft.VisualStudio.TestPlatform.ObjectModel;6using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;7{8 {9 static void Main(string[] args)10 {11 TestRequestSender testRequestSender = new TestRequestSender();12 testRequestSender.InitializeCommunication();13 ProcessStartInfo startInfo = new ProcessStartInfo("C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow\\vstest.console.exe", "C:\\Users\\User\\Documents\\test1.dll");14 Process process = new Process();15 process.StartInfo = startInfo;16 process.Start();17 Thread.Sleep(5000);18 testRequestSender.OnClientProcessExit += TestRequestSender_OnClientProcessExit;19 testRequestSender.AttachToProcess(process.Id);20 Thread.Sleep(5000);21 testRequestSender.DetachFromProcess(process.Id);22 testRequestSender.OnClientProcessExit -= TestRequestSender_OnClientProcessExit;23 testRequestSender.Close();24 Console.ReadKey();25 }26 private static void TestRequestSender_OnClientProcessExit(object sender, EventArgs e)27 {28 Console.WriteLine("Client process exited");29 }30 }31}32using System;33using System.Diagnostics;34using System.Threading;35using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;36using Microsoft.VisualStudio.TestPlatform.ObjectModel;37using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;38{39 {40 static void Main(string[] args)41 {42 TestRequestSender testRequestSender = new TestRequestSender();43 testRequestSender.InitializeCommunication();44 ProcessStartInfo startInfo = new ProcessStartInfo("C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\CommonExtensions\\Microsoft\\Test
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.IO;4using System.Threading;5using System.Xml;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10using Microsoft.VisualStudio.TestPlatform.Utilities;11{12 {13 private static TestRequestSender testRequestSender;14 private static ManualResetEvent runCompleteEvent;15 private static string testSource;16 private static string testAdapterPath;17 private static string runSettings;18 private static bool isInitialized;19 private static string testHostVersion;20 private static string testHostPath;21 private static string parentProcessId;22 private static string endpoint;23 private static string role;24 private static string environment;25 private static string framework;26 private static string runConfiguration;27 private static string testCaseFilter;28 private static string testRunDirectory;29 private static string logFileName;30 private static string logFileDirectory;31 private static string logFileFullPath;32 private static string testRunDirectoryParent;33 private static string logFileParent;34 private static string logFileParentParent;35 private static string logFileParentParentParent;36 private static string logFileParentParentParentParent;37 private static string logFileParentParentParentParentParent;38 private static string logFileParentParentParentParentParentParent;39 private static string logFileParentParentParentParentParentParentParent;40 private static string logFileParentParentParentParentParentParentParentParent;41 private static string logFileParentParentParentParentParentParentParentParentParent;
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7{8 {9 static void Main(string[] args)10 {11 var testRequestSender = new TestRequestSender();12 testRequestSender.InitializeCommunication();13 testRequestSender.WaitForRequestHandlerConnection(1000);14 testRequestSender.OnClientProcessExit += (sender, args) =>15 {16 Console.WriteLine("Exit Code: " + testRequestSender.GetTestProcessExitCode());17 };18 Console.ReadLine();19 }20 }21}
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.IO;4using System.Linq;5using System.Reflection;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10{11 {12 static void Main(string[] args)13 {14 var testRequestSender = new TestRequestSender();15 testRequestSender.InitializeCommunication();16 testRequestSender.LaunchTestHost(new TestProcessStartInfo17 {18 FileName = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\TestPlatform\\vstest.console.exe",19 Arguments = string.Format("\"{0}\"", "3.dll"),20 {21 { "PATH", Environment.GetEnvironmentVariable("PATH") }22 }23 }, 5000);24 testRequestSender.DiscoverTests(new[] { "3.dll" }, null, null, new TestPlatformOptions(), new DiscoveryEventHandler());25 Console.ReadLine();26 }27 }28 {29 public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryCompleteEventArgs, IEnumerable<TestCase> lastChunk)30 {31 Console.WriteLine("Discovery complete");32 }33 public void HandleDiscoveredTests(IEnumerable<TestCase> discoveredTestCases)34 {35 Console.WriteLine("Discovered tests");36 }37 public void HandleRawMessage(string rawMessage)38 {39 Console.WriteLine("Raw message");40 }41 public void HandleLogMessage(TestMessageLevel level, string message)42 {43 Console.WriteLine("Log message");44 }45 }46 {47 public void HandleTestRunComplete(TestRunCompleteEventArgs testRunCompleteEventArgs, IEnumerable<AttachmentSet> lastChunk)48 {49 Console.WriteLine("Test run complete");50 }51 public void HandleTestRunStatsChange(Test
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.IO;4using System.Threading;5using System.Xml;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10using Microsoft.VisualStudio.TestPlatform.Utilities;11{12 {13 private static TestRequestSender testRequestSender;14 private static ManualResetEvent runCompleteEvent;15 private static string testSource;16 private static string testAdapterPath;17 private static string runSettings;18 private static bool isInitialized;19 private static string testHostVersion;20 private static string testHostPath;21 private static string parentProcessId;22 private static string endpoint;23 private static string role;24 private static string environment;25 private static string framework;26 private static string runConfiguration;27 private static string testCaseFilter;28 private static string testRunDirectory;29 private static string logFileName;30 private static string logFileDirectory;31 private static string logFileFullPath;32 private static string testRunDirectoryParent;33 private static string logFileParent;34 private static string logFileParentParent;35 private static string logFileParentParentParent;36 private static string logFileParentParentParentParent;37 private static string logFileParentParentParentParentParent;38 private static string logFileParentParentParentParentParentParent;39 private static string logFileParentParentParentParentParentParentParent;40 private static string logFileParentParentParentParentParentParentParentParent;41 private static string logFileParentParentParentParentParentParentParentParentParent;
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7{8 {9 static void Main(string[] args)10 {11 var testRequestSender = new TestRequestSender();12 testRequestSender.InitializeCommunication();13 testRequestSender.WaitForRequestHandlerConnection(1000);14 testRequestSender.OnClientProcessExit += (sender, args) =>15 {16 Console.WriteLine("Exit Code: " + testRequestSender.GetTestProcessExitCode());17 };18 Console.ReadLine();19 }20 }21}
OnClientProcessExit
Using AI Code Generation
1using System.Linq;2using System.Text;3using System.Threading.Tasks;4{5 {6 static void Main(string[] args)
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.IO;4using System.Linq;5using System.Reflection;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10{11 {12 static void Main(string[] args)13 {14 var testRequestSender = new TestRequestSender();15 testRequestSender.InitializeCommunication();16 testRequestSender.LaunchTestHost(new TestProcessStartInfo17 {18 FileName = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\IDE\\Extensions\\TestPlatform\\vstest.console.exe",19 Arguments = string.Format("\"{0}\"", "3.dll"),20 {21 { "PATH", Environment.GetEnvironmentVariable("PATH") }22 }23 }, 5000);24 testRequestSender.DiscoverTests(new[] { "3.dll" }, null, null, new TestPlatformOptions(), new DiscoveryEventHandler());25 Console.ReadLine();26 }27 }28 {29 public void HandleDiscoveryComplete(DiscoveryCompleteEventArgs discoveryCompleteEventArgs, IEnumerable<TestCase> lastChunk)30 {31 Console.WriteLine("Discovery complete");32 }33 public void HandleDiscoveredTests(IEnumerable<TestCase> discoveredTestCases)34 {35 Console.WriteLine("Discovered tests");36 }37 public void HandleRawMessage(string rawMessage)38 {39 Console.WriteLine("Raw message");40 }41 public void HandleLogMessage(TestMessageLevel level, string message)42 {43 Console.WriteLine("Log message");44 }45 }46 {47 public void HandleTestRunComplete(TestRunCompleteEventArgs testRunCompleteEventArgs, IEnumerable<AttachmentSet> lastChunk)48 {49 Console.WriteLine("Test run complete");50 }51 public void HandleTestRunStatsChange(Test
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Diagnostics;3using System.IO;4using System.Threading;5using System.Xml;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7using Microsoft.VisualStudio.TestPlatform.ObjectModel;8using Microsoft.VisualStudio.TestPlatform.ObjectModel.Client;9using Microsoft.VisualStudio.TestPlatform.ObjectModel.Logging;10using Microsoft.VisualStudio.TestPlatform.Utilities;11{12 {13 private static TestRequestSender testRequestSender;14 private static ManualResetEvent runCompleteEvent;15 private static string testSource;16 private static string testAdapterPath;17 private static string runSettings;18 private static bool isInitialized;19 private static string testHostVersion;20 private static string testHostPath;21 private static string parentProcessId;22 private static string endpoint;23 private static string role;24 private static string environment;25 private static string framework;26 private static string runConfiguration;27 private static string testCaseFilter;28 private static string testRunDirectory;29 private static string logFileName;30 private static string logFileDirectory;31 private static string logFileFullPath;32 private static string testRunDirectoryParent;33 private static string logFileParent;34 private static string logFileParentParent;35 private static string logFileParentParentParent;36 private static string logFileParentParentParentParent;37 private static string logFileParentParentParentParentParent;38 private static string logFileParentParentParentParentParentParent;39 private static string logFileParentParentParentParentParentParentParent;40 private static string logFileParentParentParentParentParentParentParentParent;41 private static string logFileParentParentParentParentParentParentParentParentParent;
OnClientProcessExit
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;5using System.Threading.Tasks;6using Microsoft.VisualStudio.TestPlatform.CommunicationUtilities;7{8 {9 static void Main(string[] args)10 {11 var testRequestSender = new TestRequestSender();12 testRequestSender.InitializeCommunication();13 testRequestSender.WaitForRequestHandlerConnection(1000);14 testRequestSender.OnClientProcessExit += (sender, args) =>15 {16 Console.WriteLine("Exit Code: " + testRequestSender.GetTestProcessExitCode());17 };18 Console.ReadLine();19 }20 }21}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!