void OnMessageReceived(Message m) { try { if (m.MessageType == TestMessageTypes.TestSessionConnected) { testServer.StartTestDiscovery(); } else if (m.MessageType == TestMessageTypes.TestDiscoveryTestFound) { var val = m.Payload.ToObject <TestDiscovered> (); tests.Add(val); testFound = true; shutdownTimer.Stop(); } else if (m.MessageType == TestMessageTypes.TestDiscoveryCompleted) { discoveryCompleted = true; testServer.TerminateTestSession(); DnxOutputPad.WriteText(GettextCatalog.GetString("Test discovery completed.")); OnDiscoveryCompleted(); Stop(); } else if (m.MessageType == "Error") { var val = m.Payload.ToObject <Microsoft.DotNet.Tools.Test.ErrorMessage> (); DnxOutputPad.WriteError(val.Message); OnDiscoveryFailed(); } } catch (Exception ex) { LoggingService.LogError("Test loader error", ex); DnxOutputPad.WriteError(ex.Message); OnDiscoveryFailed(); } }
void RunDotNetCoreTest(string projectDirectory) { string arguments = String.Format(@"test --port {0} --parentProcessId {1} --no-build", testServer.Port, Process.GetCurrentProcess().Id); DnxOutputPad.WriteText(GettextCatalog.GetString("Starting test discovery...")); DnxOutputPad.WriteText(String.Format("{0} {1}", DnxServices.ProjectService.CurrentDotNetRuntimePath, arguments)); dotNetTestOperation = Runtime.ProcessService.StartConsoleProcess( DnxServices.ProjectService.CurrentDotNetRuntimePath, arguments, projectDirectory, new DotNetCoreOutputOperationConsole(), null, DotNetTestProcessExited); }