Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        private void HandleExceptionMessage(ITestMessageEventHandler runEventsHandler, Exception exception)
        {
            if (EqtTrace.IsErrorEnabled)
            {
                EqtTrace.Error(exception);
            }

            runEventsHandler.HandleLogMessage(ObjectModel.Logging.TestMessageLevel.Error, exception.Message);
        }
Exemple #4
0
        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));
        }