private static AttachBuildWrapper CreateTestSubject(DummyBuildEngine engine, string binPath, string configDir) { AttachBuildWrapper task = new AttachBuildWrapper(); InitializeTask(task, engine, binPath, configDir); return task; }
private static void InitializeTask(AttachBuildWrapper task, DummyBuildEngine engine, string binPath, string configDir) { task.BuildEngine = engine; task.BinDirectoryPath = binPath; task.AnalysisConfigDir = configDir; }
public void AttachBW_NotAttached_Timeout_TaskFails() { // Arrange string testFolder = TestUtils.CreateTestSpecificFolder(this.TestContext); string outputFolder = TestUtils.CreateTestSpecificFolder(this.TestContext, "bw_output"); DummyBuildEngine dummyEngine = new DummyBuildEngine(); TaskExecutionContext taskContext = new TaskExecutionContext(testFolder, testFolder, outputFolder, 0 /* returns success code */, // Embed additional code in the dummy exe - pause execution for 100 ms @"System.Threading.Thread.Sleep(200);"); AttachBuildWrapper testSubject = new AttachBuildWrapper(11 /* timeout after 11 ms */); InitializeTask(testSubject, dummyEngine, testFolder, testFolder); // Act bool result = testSubject.Execute(); // Assert Assert.IsFalse(result, "Not expecting the task to succeed - should have timed out"); dummyEngine.AssertSingleErrorExists(SonarQube.MSBuild.Tasks.Resources.BuildWrapper_FailedToAttach); dummyEngine.AssertSingleWarningExists("11"); // expecting a warning with the timeout value }