public async Task NoLog() { string solFile = Util.GetSampleProject("console-project", "ConsoleProject.sln"); Solution item = (Solution)await Services.ProjectService.ReadWorkspaceItem(Util.GetMonitor(), solFile); TargetEvaluationContext ctx = new TargetEvaluationContext(); ctx.LogVerbosity = MSBuildVerbosity.Quiet; var mon = new StringMonitor(); await item.Build(mon, "Debug", ctx); Assert.AreEqual(string.Empty, mon.GetLogText()); }
public async Task AllEvents() { string solFile = Util.GetSampleProject("console-project", "ConsoleProject.sln"); Solution item = (Solution)await Services.ProjectService.ReadWorkspaceItem(Util.GetMonitor(), solFile); var myLogger = new MSBuildLogger(); TargetEvaluationContext ctx = new TargetEvaluationContext(); ctx.Loggers.Add(myLogger); myLogger.EnabledEvents = MSBuildEvent.All; int buildStarted = 0, buildFinished = 0, targetStarted = 0, targetFinished = 0, projectStarted = 0, projectFinished = 0, taskStarted = 0, taskFinished = 0; myLogger.EventRaised += (sender, e) => { switch (e.Event) { case MSBuildEvent.BuildStarted: buildStarted++; break; case MSBuildEvent.BuildFinished: buildFinished++; break; case MSBuildEvent.TargetStarted: targetStarted++; break; case MSBuildEvent.TargetFinished: targetFinished++; break; case MSBuildEvent.ProjectStarted: projectStarted++; break; case MSBuildEvent.ProjectFinished: projectFinished++; break; case MSBuildEvent.TaskStarted: taskStarted++; break; case MSBuildEvent.TaskFinished: taskFinished++; break; } }; var mon = new StringMonitor(); await item.Build(mon, "Debug", ctx); Assert.AreEqual(1, buildStarted); Assert.AreEqual(1, buildFinished); Assert.AreEqual(1, projectStarted); Assert.AreEqual(1, projectFinished); Assert.AreEqual(taskStarted, taskFinished); Assert.AreEqual(targetStarted, targetFinished); Assert.AreNotEqual(string.Empty, mon.GetLogText()); item.Dispose(); }