/// <inheritdoc/> public Collection <AttachmentSet> SendAfterTestRunStartAndGetResult(ITestMessageEventHandler runEventsHandler, bool isCancelled) { var isDataCollectionComplete = false; Collection <AttachmentSet> attachmentSets = null; this.communicationManager.SendMessage(MessageType.AfterTestRunEnd, isCancelled); // Cycle through the messages that the datacollector sends. // Currently each of the operations are not separate tasks since they should not each take much time. This is just a notification. while (!isDataCollectionComplete) { var message = this.communicationManager.ReceiveMessage(); if (message.MessageType == MessageType.DataCollectionMessage) { var msg = this.dataSerializer.DeserializePayload <DataCollectionMessageEventArgs>(message); runEventsHandler.HandleLogMessage(msg.Level, string.Format(CultureInfo.CurrentCulture, Resources.Resources.DataCollectorUriForLogMessage, msg.FriendlyName, msg.Message)); } else if (message.MessageType == MessageType.AfterTestRunEndResult) { attachmentSets = this.dataSerializer.DeserializePayload <Collection <AttachmentSet> >(message); isDataCollectionComplete = true; } } return(attachmentSets); }
/// <inheritdoc/> public BeforeTestRunStartResult SendBeforeTestRunStartAndGetResult(string settingsXml, ITestMessageEventHandler runEventsHandler) { var isDataCollectionStarted = false; BeforeTestRunStartResult result = null; this.communicationManager.SendMessage(MessageType.BeforeTestRunStart, settingsXml); while (!isDataCollectionStarted) { var message = this.communicationManager.ReceiveMessage(); if (message.MessageType == MessageType.DataCollectionMessage) { var msg = this.dataSerializer.DeserializePayload <DataCollectionMessageEventArgs>(message); runEventsHandler.HandleLogMessage(msg.Level, string.Format(CultureInfo.CurrentCulture, Resources.Resources.DataCollectorUriForLogMessage, msg.FriendlyName, msg.Message)); } else if (message.MessageType == MessageType.BeforeTestRunStartResult) { isDataCollectionStarted = true; result = this.dataSerializer.DeserializePayload <BeforeTestRunStartResult>(message); } } return(result); }
private void HandleExceptionMessage(ITestMessageEventHandler runEventsHandler, Exception exception) { if (EqtTrace.IsErrorEnabled) { EqtTrace.Error(exception); } runEventsHandler.HandleLogMessage(ObjectModel.Logging.TestMessageLevel.Error, exception.Message); }
private void LogDataCollectorMessage(DataCollectionMessageEventArgs dataCollectionMessageEventArgs, ITestMessageEventHandler requestHandler) { string logMessage; if (string.IsNullOrWhiteSpace(dataCollectionMessageEventArgs.FriendlyName)) { // Message from data collection framework. logMessage = string.Format(CultureInfo.CurrentCulture, CommonResources.DataCollectionMessageFormat, dataCollectionMessageEventArgs.Message); } else { // Message from individual data collector. logMessage = string.Format(CultureInfo.CurrentCulture, CommonResources.DataCollectorMessageFormat, dataCollectionMessageEventArgs.FriendlyName, dataCollectionMessageEventArgs.Message); } requestHandler.HandleLogMessage(dataCollectionMessageEventArgs.Level, logMessage); }
/// <inheritdoc /> public override bool SetupChannel( IEnumerable <string> sources, string runSettings, ITestMessageEventHandler eventHandler) { // Log all the messages that are reported while initializing the DataCollectionClient. if (this.DataCollectionRunEventsHandler.Messages.Count > 0) { foreach (var message in this.DataCollectionRunEventsHandler.Messages) { eventHandler.HandleLogMessage(message.Item1, message.Item2); } this.DataCollectionRunEventsHandler.Messages.Clear(); } return(base.SetupChannel(sources, runSettings)); }