示例#1
0
 public override void TestInitialize()
 {
     base.TestInitialize();
     this.testConfiguration         = BuildManagerContainerConfiguration.Default;
     this.testExtensionContainer    = this.Operations.GenerateContainer(this.testConfiguration);
     this.buildManagerTestExtension = this.testExtensionContainer.GetFirstTestExtension <BuildManagerTestExtension>();
 }
示例#2
0
        public void AsyncBuildWithMultipleSubmissionsCancelAndReSubmit()
        {
            BuildRequestData[] buildRequests = GenerateBuildRequests(BuildSubmissionTests.NormalProjectExecutionTime);
            ConfigurationCacheTestExtension configurationCachetestExtension = this.testExtensionContainer.GetFirstTestExtension <ConfigurationCacheTestExtension>();
            ResultsCacheTestExtension       resultsCacheTestExtension       = this.testExtensionContainer.GetFirstTestExtension <ResultsCacheTestExtension>();

            this.buildManagerTestExtension.BeginBuild(BuildManagerTestExtension.CreateBuildParameters(BuildSubmissionTests.DefaultNodeReUseAction, BuildSubmissionTests.MultipleNodeCount, BuildSubmissionTests.DefaultMemoryLimit, "4.0"));
            AsyncBuildRequestStatus[] requestsStatus = null;
            this.buildManagerTestExtension.ExecuteAsyncBuildRequests(buildRequests, BuildSubmissionTests.DefaultBuildCompletionTimeout, !BuildSubmissionTests.WaitForCompletion, out requestsStatus);
            this.buildManagerTestExtension.CancelAllSubmissions();

            for (int j = 0; j < buildRequests.Length; j++)
            {
                Verify.IsTrue(BuildManagerTestExtension.Wait(requestsStatus[j].SubmissionCompletedEvent, BuildSubmissionTests.DefaultBuildCompletionTimeout), "Submissions should have completed in the specified 60 seconds timeout.");
                requestsStatus[j].SubmissionCompletedEvent.Close();
                requestsStatus[j].SubmissionTestExtension.BuildResultTestExtension.Verify.BuildWasAborted();
                BuildResultTestExtension resultFromCacheTestExtension = resultsCacheTestExtension.GetResultFromCache(requestsStatus[j].SubmissionTestExtension.ConfigurationIdForSubmission);
                resultFromCacheTestExtension.Verify.BuildWasAborted();
            }

            this.buildManagerTestExtension.EndBuild();

            this.buildManagerTestExtension.BeginBuild(BuildManagerTestExtension.CreateBuildParameters(BuildSubmissionTests.DefaultNodeReUseAction, BuildSubmissionTests.MultipleNodeCount, BuildSubmissionTests.DefaultMemoryLimit, "4.0"));
            AsyncBuildRequestStatus[] requestsStatusAfterCancel = null;
            bool success = this.buildManagerTestExtension.ExecuteAsyncBuildRequests(buildRequests, BuildSubmissionTests.DefaultBuildCompletionTimeout, BuildSubmissionTests.WaitForCompletion, out requestsStatusAfterCancel);

            Verify.IsTrue(success, "Submissions should have completed in the specified 60 seconds timeout.");

            for (int k = 0; k < buildRequests.Length; k++)
            {
                requestsStatusAfterCancel[k].SubmissionTestExtension.BuildResultTestExtension.Verify.BuildSucceeded();
            }

            this.buildManagerTestExtension.EndBuild();
        }
示例#3
0
 public override void TestCleanup()
 {
     base.TestCleanup();
     Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.UnloadAllProjects();
     this.buildManagerTestExtension.Dispose();
     this.buildManagerTestExtension = null;
     this.testConfiguration.Dispose();
     this.testConfiguration      = null;
     this.testExtensionContainer = null;
 }
示例#4
0
        public void AsyncBuildWithMultipleSubmissionsOnSingleNodes()
        {
            BuildRequestData[] buildRequests = GenerateBuildRequests(BuildSubmissionTests.NormalProjectExecutionTime);

            ConfigurationCacheTestExtension configurationCachetestExtension = this.testExtensionContainer.GetFirstTestExtension <ConfigurationCacheTestExtension>();

            this.buildManagerTestExtension.BeginBuild(BuildManagerTestExtension.CreateBuildParameters(BuildSubmissionTests.DefaultNodeReUseAction, BuildSubmissionTests.DefaultNodeCount, BuildSubmissionTests.DefaultMemoryLimit, "4.0"));
            AsyncBuildRequestStatus[] requestsStatus = null;
            bool success = this.buildManagerTestExtension.ExecuteAsyncBuildRequests(buildRequests, BuildSubmissionTests.DefaultBuildCompletionTimeout, BuildSubmissionTests.WaitForCompletion, out requestsStatus);

            Verify.IsTrue(success, "Submissions should have completed in the specified 60 seconds timeout.");
            Verify.IsTrue(requestsStatus.Length == buildRequests.Length, "Number of submission should match the number of requests.");
            for (int j = 0; j < buildRequests.Length; j++)
            {
                requestsStatus[j].SubmissionTestExtension.BuildResultTestExtension.Verify.BuildSucceeded();
                configurationCachetestExtension.Verify.CacheContainsConfigurationForBuildRequest(buildRequests[j], "4.0");
            }

            this.buildManagerTestExtension.EndBuild();
        }
示例#5
0
        public void MultipleSuccessfulBuildsWithSameParameters()
        {
            BuildRequestData requestData1 = this.buildManagerTestExtension.CreateBuildRequestData(BuildSubmissionTests.NormalProjectExecutionTime);
            BuildRequestData requestData2 = this.buildManagerTestExtension.CreateBuildRequestData(BuildSubmissionTests.NormalProjectExecutionTime);

            AsyncBuildRequestStatus[]       requestData1Status = null;
            AsyncBuildRequestStatus[]       requestData2Status = null;
            ConfigurationCacheTestExtension configurationCachetestExtension = this.testExtensionContainer.GetFirstTestExtension <ConfigurationCacheTestExtension>();

            this.buildManagerTestExtension.BeginBuild(BuildManagerTestExtension.CreateBuildParameters(BuildSubmissionTests.DefaultNodeReUseAction, BuildSubmissionTests.DefaultNodeCount, BuildSubmissionTests.DefaultMemoryLimit, "4.0"));
            bool success = this.buildManagerTestExtension.ExecuteAsyncBuildRequests(new BuildRequestData[] { requestData1 }, BuildSubmissionTests.DefaultBuildCompletionTimeout, BuildSubmissionTests.WaitForCompletion, out requestData1Status);

            Verify.IsTrue(success, "Submissions should have completed in the specified 60 seconds timeout.");
            requestData1Status[0].SubmissionTestExtension.BuildResultTestExtension.Verify.BuildSucceeded();
            configurationCachetestExtension.Verify.CacheContainsConfigurationForBuildRequest(requestData1, "4.0");
            this.buildManagerTestExtension.EndBuild();

            this.buildManagerTestExtension.BeginBuild(BuildManagerTestExtension.CreateBuildParameters(BuildSubmissionTests.DefaultNodeReUseAction, BuildSubmissionTests.DefaultNodeCount, BuildSubmissionTests.DefaultMemoryLimit, "4.0"));
            success = this.buildManagerTestExtension.ExecuteAsyncBuildRequests(new BuildRequestData[] { requestData2 }, BuildSubmissionTests.DefaultBuildCompletionTimeout, BuildSubmissionTests.WaitForCompletion, out requestData2Status);
            Verify.IsTrue(success, "Submissions should have completed in the specified 60 seconds timeout.");
            requestData2Status[0].SubmissionTestExtension.BuildResultTestExtension.Verify.BuildSucceeded();
            configurationCachetestExtension.Verify.CacheContainsConfigurationForBuildRequest(requestData2, "4.0");
            this.buildManagerTestExtension.EndBuild();
        }
 public override void TestCleanup()
 {
     base.TestCleanup();
     Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.UnloadAllProjects();
     this.buildManagerTestExtension.Dispose();
     this.buildManagerTestExtension = null;
     this.testConfiguration.Dispose();
     this.testConfiguration = null;
     this.testExtensionContainer = null;
 }
 public override void TestInitialize()
 {
     base.TestInitialize();
     this.testConfiguration = BuildManagerContainerConfiguration.Default;
     this.testExtensionContainer = this.Operations.GenerateContainer(this.testConfiguration);
     this.buildManagerTestExtension = this.testExtensionContainer.GetFirstTestExtension<BuildManagerTestExtension>();
 }