コード例 #1
0
 private static AttachBuildWrapper CreateTestSubject(DummyBuildEngine engine, string binPath, string configDir)
 {
     AttachBuildWrapper task = new AttachBuildWrapper();
     InitializeTask(task, engine, binPath, configDir);
     return task;
 }
コード例 #2
0
 private static void InitializeTask(AttachBuildWrapper task, DummyBuildEngine engine, string binPath, string configDir)
 {
     task.BuildEngine = engine;
     task.BinDirectoryPath = binPath;
     task.AnalysisConfigDir = configDir;
 }
コード例 #3
0
        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
        }