Inheritance: IBuildListener
Ejemplo n.º 1
0
        public void DependentTargetsExecuteSequentially()
        {
            // create new listener that allows us to track build events
            TestBuildListener listener = new TestBuildListener();

            // run the build
            Project project = CreateFilebasedProject(DependentTargets, Level.Info);

            project.RunTargetsInParallel = true;


            //use Project.AttachBuildListeners to attach.
            IBuildListener[] listeners = { listener };
            project.AttachBuildListeners(new BuildListenerCollection(listeners));

            // execute the project
            ExecuteProject(project);

            DateTime target2startTime  = listener.GetTargetStartTime("Target2");
            DateTime target2finishTime = listener.GetTargetFinishTime("Target2");
            DateTime target3startTime  = listener.GetTargetStartTime("Target3");
            DateTime target3finishTime = listener.GetTargetFinishTime("Target3");

            Assert.IsTrue(target2startTime <= target2finishTime, "Target2 start time is after finish time");
            Assert.IsTrue(target3startTime <= target3finishTime, "Target3 start time is after finish time");

            Assert.IsTrue(target3finishTime <= target2startTime, "Target2 was started before Target3 was finished");
        }
Ejemplo n.º 2
0
        public void IndependentTargetsExecuteInParallel() {
            // create new listener that allows us to track build events
            TestBuildListener listener = new TestBuildListener();

            // run the build
            Project project = CreateFilebasedProject(TwoIndependentTargets, Level.Info);
            project.RunTargetsInParallel = true;

            
            //use Project.AttachBuildListeners to attach.
            IBuildListener[] listeners = {listener};
            project.AttachBuildListeners(new BuildListenerCollection(listeners));

            // execute the project
            ExecuteProject(project);
            
            DateTime target2startTime = listener.GetTargetStartTime("Target2");
            DateTime target2finishTime = listener.GetTargetFinishTime("Target2");
            DateTime target3startTime = listener.GetTargetStartTime("Target3");
            DateTime target3finishTime = listener.GetTargetFinishTime("Target3");

            Assert.IsTrue(target2startTime <= target2finishTime, "Target2 start time is after finish time");
            Assert.IsTrue(target3startTime <= target3finishTime, "Target3 start time is after finish time");

            Assert.IsTrue(target3startTime <= target2finishTime, "Target3 was not started until Target2 was finished");
            Assert.IsTrue(target2startTime <= target3finishTime, "Target2 was not started until Target3 was finished");
        }
Ejemplo n.º 3
0
        public void Test_If() {
            // create new listener that allows us to track build events
            TestBuildListener listener = new TestBuildListener();

            // run the build
            string result = RunBuild(FormatBuildFile("Target1", "true", "true", string.Empty), listener);

            Assert.AreEqual(1, listener.GetTargetExecutionCount("Target1"), "Target1 should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(1, listener.GetTargetExecutionCount("Target2"), "Target2 should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(0, listener.GetTargetExecutionCount("Target3"), "Target3 should not have executed." + Environment.NewLine + result);
        }
Ejemplo n.º 4
0
        public void Test_Depends()
        {
            // create new listener that allows us to track build events
            TestBuildListener listener = new TestBuildListener();

            // run the build
            string result = RunBuild(FormatBuildFile("Target1", "true", "false", "Target2"), listener);

            Assert.AreEqual(1, listener.GetTargetExecutionCount("Target1"), "Target1 should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(1, listener.GetTargetExecutionCount("Target2"), "Target2 should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(1, listener.GetTargetExecutionCount("Target3"), "Target3 should have executed once." + Environment.NewLine + result);
        }
Ejemplo n.º 5
0
        public void Test_Wild()
        {
            // create new listener that allows us to track build events
            TestBuildListener listener = new TestBuildListener();

            Project project = CreateFilebasedProject(BuildFragment1);

            //use Project.AttachBuildListeners to attach.
            IBuildListener[] listners = { listener };
            project.AttachBuildListeners(new BuildListenerCollection(listners));

            //add targets like they are added from the command line.
            project.BuildTargets.Add("WildTarget");

            string result = ExecuteProject(project);

            Assert.AreEqual(1, listener.GetTargetExecutionCount("WildTarget"), "WildTarget should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(0, listener.GetTargetExecutionCount("Target"), "Target should not have executed." + Environment.NewLine + result);
        }
Ejemplo n.º 6
0
        public void Test_CommandLineTargets()
        {
            // create new listener that allows us to track build events
            TestBuildListener listener = new TestBuildListener();

            Project project = CreateFilebasedProject(BuildFragment2);

            //use Project.AttachBuildListeners to attach.
            IBuildListener[] listners = {listener};
            project.AttachBuildListeners(new BuildListenerCollection(listners));

            //add targets like they are added from the command line.
            project.BuildTargets.Add("Release");
            project.BuildTargets.Add("Build");

            string result = ExecuteProject(project);

            Assert.AreEqual(1, listener.GetTargetExecutionCount("Init"), "'Init' target should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(1, listener.GetTargetExecutionCount("Release"), "'Release' target should have executed once." + Environment.NewLine + result);
            Assert.AreEqual(1, listener.GetTargetExecutionCount("Build"), "'Build' target should have executed once." + Environment.NewLine + result);
        }