private static void HandleDesignTimeMessages(ProjectContext projectContext, string testRunner, ReportingChannel channel, string configuration) { try { var message = channel.ReadQueue.Take(); if (message.MessageType == "ProtocolVersion") { HandleProtocolVersionMessage(message, channel); // Take the next message, which should be the command to execute. message = channel.ReadQueue.Take(); } if (message.MessageType == "TestDiscovery.Start") { HandleTestDiscoveryStartMessage(testRunner, channel, projectContext, configuration); } else if (message.MessageType == "TestExecution.Start") { HandleTestExecutionStartMessage(testRunner, message, channel, projectContext, configuration); } else { HandleUnknownMessage(message, channel); } } catch (Exception ex) { channel.SendError(ex); } }
private static void HandleUnknownMessage(Message message, ReportingChannel channel) { var error = string.Format("Unexpected message type: '{0}'.", message.MessageType); TestHostTracing.Source.TraceEvent(TraceEventType.Error, 0, error); channel.SendError(error); throw new InvalidOperationException(error); }
private static void ExecuteRunnerCommand(string testRunner, ReportingChannel channel, List <string> commandArgs) { var result = Command.CreateDotNet(GetCommandName(testRunner), commandArgs, new NuGetFramework("DNXCore", Version.Parse("5.0"))) .OnOutputLine(line => { try { channel.Send(JsonConvert.DeserializeObject <Message>(line)); } catch { TestHostTracing.Source.TraceInformation(line); } }) .Execute(); if (result.ExitCode != 0) { channel.SendError($"{GetCommandName(testRunner)} returned '{result.ExitCode}'."); } }
private static void ExecuteRunnerCommand(string testRunner, ReportingChannel channel, List<string> commandArgs) { var result = Command.Create(GetCommandName(testRunner), commandArgs, new NuGetFramework("DNXCore", Version.Parse("5.0"))) .OnOutputLine(line => { try { channel.Send(JsonConvert.DeserializeObject<Message>(line)); } catch { TestHostTracing.Source.TraceInformation(line); } }) .Execute(); if (result.ExitCode != 0) { channel.SendError($"{GetCommandName(testRunner)} returned '{result.ExitCode}'."); } }
private static void HandleUnknownMessage(Message message, ReportingChannel channel) { var error = string.Format("Unexpected message type: '{0}'.", message.MessageType); TestHostTracing.Source.TraceEvent(TraceEventType.Error, 0, error); channel.SendError(error); throw new InvalidOperationException(error); }
private static void HandleDesignTimeMessages(ProjectContext projectContext, string testRunner, ReportingChannel channel) { try { var message = channel.ReadQueue.Take(); if (message.MessageType == "ProtocolVersion") { HandleProtocolVersionMessage(message, channel); // Take the next message, which should be the command to execute. message = channel.ReadQueue.Take(); } if (message.MessageType == "TestDiscovery.Start") { HandleTestDiscoveryStartMessage(testRunner, channel, projectContext); } else if (message.MessageType == "TestExecution.Start") { HandleTestExecutionStartMessage(testRunner, message, channel, projectContext); } else { HandleUnknownMessage(message, channel); } } catch (Exception ex) { channel.SendError(ex); } }