public void ExecuteRunsFakeWithDefaults()
        {
            var workingDir = Path.Combine(DefaultWorkingDirectory, "WorkingDir");
            var artefactDir = Path.Combine(DefaultWorkingDirectoryWithSpaces, "ArtifactsDir");
            var buildFile = Path.Combine(DefaultWorkingDirectory, "ccnet.fsx");

            var result = GenerateResultMock(workingDir, artefactDir);
            var task = new FakeTask(executor);
            task.BuildFile = buildFile;
            SetupExecutorMock(executor, "FAKE.exe", string.Concat(StringUtil.AutoDoubleQuoteString(buildFile), " ", "logfile=", StringUtil.AutoDoubleQuoteString(Path.Combine(artefactDir, string.Format(FakeTask.logFilename, task.LogFileId)))), workingDir, 600000);
            Expect.Call(result.Status).PropertyBehavior();

            mocks.ReplayAll();
            result.Status = IntegrationStatus.Unknown;
            task.Run(result);
            mocks.VerifyAll();
        }
				public void ShouldFailIfProcessTimesOut()
				{
					ExecutorShouldTimeOut(executor);
					mocks.ReplayAll();

					var task = new FakeTask(executor);

					var result = IntegrationResultMother.CreateUnknown();
					task.Run(result);
					
					mocks.VerifyAll();
					Assert.That(result.Status, Is.EqualTo(IntegrationStatus.Failure));
					Assert.That(result.TaskOutput, Is.StringMatching("Command line '.*' timed out after \\d+ seconds"));
				}