public void KillProcessesForProjectKillsAProcess() { var fileSystemMock = InitialiseFileSystemMockForExecute(); var info = new ProcessInfo("sleeper"); var executor = new ProcessExecutor { FileSystem = fileSystemMock.Object }; var projectName = "aProject"; var thread = new Thread( () => executor.Execute(info, projectName, "aTask", "C:\\somewhere.txt")); thread.Start(); var started = SpinWait.SpinUntil(() => Process.GetProcessesByName("sleeper").Length > 0, TimeSpan.FromSeconds(5)); Assert.IsTrue(started); ProcessExecutor.KillProcessesForProject(fileSystemMock.Object, projectName); var stopped = SpinWait.SpinUntil(() => Process.GetProcessesByName("sleeper").Length == 0, TimeSpan.FromSeconds(5)); Assert.IsTrue(stopped); }
public void KillProcessesForProjectHandlesAMissingProject() { ProcessExecutor.KillProcessesForProject(null, "DoesNothingExist"); }