Beispiel #1
0
        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);
        }
Beispiel #2
0
 public void KillProcessesForProjectHandlesAMissingProject()
 {
     ProcessExecutor.KillProcessesForProject(null, "DoesNothingExist");
 }