private static void HandleTestExecutionStartMessage(string testRunner, Message message, ReportingChannel channel, ProjectContext projectContext, string configuration) { TestHostTracing.Source.TraceInformation("Starting Execution"); var commandArgs = new List <string> { projectContext.GetOutputPaths(configuration).CompilationFiles.Assembly }; commandArgs.AddRange(new[] { "--designtime" }); var tests = message.Payload?.ToObject <RunTestsMessage>().Tests; if (tests != null) { foreach (var test in tests) { commandArgs.Add("--test"); commandArgs.Add(test); } } ExecuteRunnerCommand(testRunner, channel, commandArgs); channel.Send(new Message() { MessageType = "TestExecution.Response", }); TestHostTracing.Source.TraceInformation("Completed Execution"); }
private static void HandleProtocolVersionMessage(Message message, ReportingChannel channel) { var version = message.Payload?.ToObject <ProtocolVersionMessage>().Version; var supportedVersion = 1; TestHostTracing.Source.TraceInformation( "[ReportingChannel]: Requested Version: {0} - Using Version: {1}", version, supportedVersion); channel.Send(new Message() { MessageType = "ProtocolVersion", Payload = JToken.FromObject(new ProtocolVersionMessage() { Version = supportedVersion, }), }); }
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 HandleTestDiscoveryStartMessage(string testRunner, ReportingChannel channel, ProjectContext projectContext, string configuration) { TestHostTracing.Source.TraceInformation("Starting Discovery"); var commandArgs = new List <string> { projectContext.GetOutputPaths(configuration).CompilationFiles.Assembly }; commandArgs.AddRange(new[] { "--list", "--designtime" }); ExecuteRunnerCommand(testRunner, channel, commandArgs); channel.Send(new Message() { MessageType = "TestDiscovery.Response", }); TestHostTracing.Source.TraceInformation("Completed Discovery"); }
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 HandleTestExecutionStartMessage(string testRunner, Message message, ReportingChannel channel, ProjectContext projectContext) { TestHostTracing.Source.TraceInformation("Starting Execution"); var commandArgs = new List<string> { projectContext.GetAssemblyPath(Constants.DefaultConfiguration) }; commandArgs.AddRange(new[] { "--designtime" }); var tests = message.Payload?.ToObject<RunTestsMessage>().Tests; if (tests != null) { foreach (var test in tests) { commandArgs.Add("--test"); commandArgs.Add(test); } } ExecuteRunnerCommand(testRunner, channel, commandArgs); channel.Send(new Message() { MessageType = "TestExecution.Response", }); TestHostTracing.Source.TraceInformation("Completed Execution"); }
private static void HandleTestDiscoveryStartMessage(string testRunner, ReportingChannel channel, ProjectContext projectContext) { TestHostTracing.Source.TraceInformation("Starting Discovery"); var commandArgs = new List<string> { projectContext.GetAssemblyPath(Constants.DefaultConfiguration) }; commandArgs.AddRange(new[] { "--list", "--designtime" }); ExecuteRunnerCommand(testRunner, channel, commandArgs); channel.Send(new Message() { MessageType = "TestDiscovery.Response", }); TestHostTracing.Source.TraceInformation("Completed Discovery"); }
private static void HandleProtocolVersionMessage(Message message, ReportingChannel channel) { var version = message.Payload?.ToObject<ProtocolVersionMessage>().Version; var supportedVersion = 1; TestHostTracing.Source.TraceInformation( "[ReportingChannel]: Requested Version: {0} - Using Version: {1}", version, supportedVersion); channel.Send(new Message() { MessageType = "ProtocolVersion", Payload = JToken.FromObject(new ProtocolVersionMessage() { Version = supportedVersion, }), }); }