private int LaunchProcessWithDebuggerAttached(string workingDirectory, string command, string param, bool printTestOutput, IDebuggedProcessLauncher handle) { _testEnvironment.LogInfo("Attaching debugger to " + command); if (printTestOutput) { _testEnvironment.DebugInfo( "Note that due to restrictions of the VS Unit Testing framework, the test executable's output can not be displayed in the test console when debugging tests!"); } int processId = handle.LaunchProcessWithDebuggerAttached(command, workingDirectory, param, _testEnvironment.Options.PathExtension); Process process = Process.GetProcessById(processId); var waiter = new ProcessWaiter(process); waiter.WaitForExit(); process.Dispose(); return(waiter.ProcessExitCode); }
public void DebugInfo_InDebugMode_ProducesInfoOnLogger() { MockOptions.Setup(o => o.DebugMode).Returns(true); Environment.DebugInfo("bar"); MockLogger.Verify(l => l.LogInfo(It.Is <string>(s => s.Contains("bar"))), Times.Exactly(1)); }