Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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();
        }