diff options
Diffstat (limited to 'tools/slang-test/slang-test-main.cpp')
| -rw-r--r-- | tools/slang-test/slang-test-main.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp index 355f28a23..6391ad3e2 100644 --- a/tools/slang-test/slang-test-main.cpp +++ b/tools/slang-test/slang-test-main.cpp @@ -1465,16 +1465,18 @@ TestResult runExecutableTest(TestContext* context, TestInput& input) TestResult runLanguageServerTest(TestContext* context, TestInput& input) { - RefPtr<JSONRPCConnection> connection; - if (SLANG_FAILED(context->createLanguageServerJSONRPCConnection(connection))) + if (!context->m_languageServerConnection) { - return TestResult::Fail; + if (SLANG_FAILED(context->createLanguageServerJSONRPCConnection(context->m_languageServerConnection))) + { + return TestResult::Fail; + } } if (context->isCollectingRequirements()) { - connection->sendCall(LanguageServerProtocol::ExitParams::methodName, JSONValue::makeInt(0)); return TestResult::Pass; } + auto connection = context->m_languageServerConnection.Ptr(); LanguageServerProtocol::InitializeParams initParams; LanguageServerProtocol::WorkspaceFolder wsFolder; wsFolder.name = "test"; @@ -1684,7 +1686,12 @@ TestResult runLanguageServerTest(TestContext* context, TestInput& input) } } } - connection->sendCall(LanguageServerProtocol::ExitParams::methodName, JSONValue::makeInt(0)); + LanguageServerProtocol::DidCloseTextDocumentParams closeDocParams; + closeDocParams.textDocument.uri = URI::fromLocalFilePath(fullPath.getUnownedSlice()).uri; + connection->sendCall( + LanguageServerProtocol::DidCloseTextDocumentParams::methodName, + &closeDocParams, + JSONValue::makeInt(1)); auto outputStem = input.outputStem; String expectedOutputPath = outputStem + ".expected.txt"; |
