Esempio n. 1
0
        public async Task shouldCancelDuringBuild()
        {
            var cancellationTestee = new PipelineManager();
            var canceller = new System.Threading.CancellationTokenSource();
            var progressReporter = new PipelineProgress(canceller.Cancel, 50, false);

            var result = await cancellationTestee.BuildPipelineAsync(this.scheme, canceller.Token, progressReporter, new TestSubject());

            var refinedResults = result.Select(r => r.Outcome).ToArray();

            Assert.IsTrue(refinedResults.Contains(StepBuildResults.Cancelled) && refinedResults.Contains(StepBuildResults.Completed), "Token may have expirec before the build took place.\nResults are:\n" + refinedResults.PrintContentsToString(Environment.NewLine));
        }
Esempio n. 2
0
        public async Task shouldShowWhereBuildWasCancelled()
        {
            // Similar to "shouldCancelDuringBuild", but this time check to be sure that the build is cancelling at the right spot.
            var cancellationTestee = new PipelineManager();
            var canceller = new System.Threading.CancellationTokenSource();
            var progressReporter = new PipelineProgress(canceller.Cancel, 50, false);
            var expected = new List<StepBuildResults>()
            {
                StepBuildResults.Completed, StepBuildResults.Completed, StepBuildResults.Completed, StepBuildResults.Completed,
                StepBuildResults.Cancelled, StepBuildResults.Cancelled
            };
            
            var result = await cancellationTestee.BuildPipelineAsync(this.scheme, canceller.Token, progressReporter, new TestSubject());

            var actual = result.Select(r => r.Outcome).ToArray();

            Assert.IsTrue(expected.SequenceEqual(actual), TestingHelpers.DumpTestSequencesToText(expected, actual));
        }