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"); }
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"); }
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); }
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); }
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); }
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); }