diff --git a/src/Features/LanguageServer/ProtocolUnitTests/VSTypeScriptHandlerTests.cs b/src/Features/LanguageServer/ProtocolUnitTests/VSTypeScriptHandlerTests.cs index e4cefb78e85b8..a5cfc214141f1 100644 --- a/src/Features/LanguageServer/ProtocolUnitTests/VSTypeScriptHandlerTests.cs +++ b/src/Features/LanguageServer/ProtocolUnitTests/VSTypeScriptHandlerTests.cs @@ -8,6 +8,7 @@ using System.Composition; using System.IO; using System.Linq; +using System.ServiceModel.Syndication; using System.Text; using System.Threading; using System.Threading.Tasks; @@ -70,13 +71,16 @@ public async Task TestRoslynTypeScriptHandlerInvoked() Assert.Empty(response); } - private Task CreateTsTestLspServerAsync(string workspaceXml) + private async Task CreateTsTestLspServerAsync(string workspaceXml) { var (clientStream, serverStream) = FullDuplexStream.CreatePair(); var testWorkspace = TestWorkspace.Create(workspaceXml, composition: Composition); + + // Ensure workspace operations are completed so we don't get unexpected workspace changes while running. + await WaitForWorkspaceOperationsAsync(testWorkspace); var languageServerTarget = CreateLanguageServer(serverStream, serverStream, testWorkspace); - return TestLspServer.CreateAsync(testWorkspace, new ClientCapabilities(), languageServerTarget, clientStream); + return await TestLspServer.CreateAsync(testWorkspace, new ClientCapabilities(), languageServerTarget, clientStream); } private static LanguageServerTarget CreateLanguageServer(Stream inputStream, Stream outputStream, TestWorkspace workspace)