Exemplo n.º 1
0
        private static BuildToolsServer StartBuildServer(Mock <IProject> projectMock, ICommunicationChannel channel, IFileSynchronizationManager deployManager = null, IBuildErrorProcessor errorProcessor = null)
        {
            deployManager  = deployManager ?? new Mock <IFileSynchronizationManager>().Object;
            errorProcessor = errorProcessor ?? new Mock <IBuildErrorProcessor>().Object;

            var output = new Mock <IOutputWindowManager>();

            output.Setup((w) => w.GetExecutionResultPane()).Returns(new Mock <IOutputWindowWriter>().Object);

            var server = new BuildToolsServer(projectMock.Object, channel, output.Object, errorProcessor, deployManager, null);

            projectMock.Raise((p) => p.Loaded += null, projectMock.Object.Options); // starts the server
            return(server);
        }
Exemplo n.º 2
0
        private static async Task <VSRAD.BuildTools.IPCBuildResult> FetchResultOnClientAsync(BuildToolsServer server)
        {
            VSRAD.BuildTools.IPCBuildResult message = null;
            var tcs = new TaskCompletionSource <bool>();

            new Thread(() =>
            {
                var client = new NamedPipeClientStream(server.PipeName);
                client.Connect();
                message = VSRAD.BuildTools.IPCBuildResult.Read(client);
                client.Close();
                tcs.SetResult(true);
            }).Start();

            await tcs.Task;

            return(message);
        }