Re: eglot-tests fail for emacs-31 branch

João Távora <[email protected]>
Newsgroups gmane.emacs.devel
Message-ID <CALDnm50kLZ6xU+zBNJxstvQkAvnhK0BSh2Mez1PZJ_0fvqa1EQ@mail.gmail.com>
Hi,

I suspect that the typescript-language-server version was upgraded and
now requires something (namely typescript itself) that used to be there,
but now isn't.  If I'm right then the correct fix is to install typescript. Or
or delete typescript-language-server entirely (it's not very useful
without typescript, is it?).  The test will be skipped.

The last changes to Eglot (at least to this part) happened more
than two weeks ago IINM.  What happened in Emba in these two weeks?
Was the host's OS upgraded or something like that?

João

On Tue, Jul 21, 2026 at 2:56 PM Michael Albinus <[email protected]> wrote:
>
> Hi,
>
> On emba, eglot-tests fail:
>
> --8<---------------cut here---------------start------------->8---
> [eglot-tests] [eglot-test-javascript-basic]: test start
> [jsonrpc] (warning) Sentinel for EGLOT (project/(js-mode)) still hasn't run, deleting it!
> Warning (jsonrpc): Sentinel for EGLOT (project/(js-mode)) still hasn't run, deleting it!
> [jsonrpc] Server exited with status 9
> [eglot-tests] [eglot-test-javascript-basic]: FAILED
> [eglot-tests] contents of ` *EGLOT (project/(js-mode)) output*' #<buffer  *EGLOT (project/(js-mode)) output*>:
> [eglot-tests] contents of ` *EGLOT (project/(js-mode)) stderr*' #<buffer  *EGLOT (project/(js-mode)) stderr*>:
>
> Process EGLOT (project/(js-mode)) stderr finished
> [eglot-tests] contents of `*EGLOT (project/(js-mode)) events*' #<buffer *EGLOT (project/(js-mode)) events*>:
> [jsonrpc] D[05:56:15.992] Running language server: typescript-language-server --stdio
> [jsonrpc] e[05:56:15.995] --> initialize[1] {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":334,"clientInfo":{"name":"Eglot","version":"1.24"},"rootPath":"/tmp/eglot--fixture-I84AOf/project/","rootUri":"file:///tmp/eglot--fixture-I84AOf/project","initializationOptions":{},"capabilities":{"workspace":{"applyEdit":true,"executeCommand":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","delete","rename"],"failureHandling":"abort"},"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":true},"symbol":{"dynamicRegistration":false},"semanticTokens":{"refreshSupport":true},"configuration":true,"workspaceFolders":true},"textDocument":{"synchronization":{"dynamicRegistration":false,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":false,"completionItem":{"snippetSupport":false,"deprecatedSupport":true,"documentationFormat":["plaintext"],"resolveSupport":{"properties":["documentation","details","additionalTextEdits"]},"tagSupport":{"valueSet":[1]},"insertReplaceSupport":true},"contextSupport":true},"hover":{"dynamicRegistration":false,"contentFormat":["plaintext"]},"signatureHelp":{"dynamicRegistration":false,"signatureInformation":{"parameterInformation":{"labelOffsetSupport":true},"documentationFormat":["plaintext"],"activeParameterSupport":true}},"references":{"dynamicRegistration":false},"definition":{"dynamicRegistration":false,"linkSupport":true},"declaration":{"dynamicRegistration":false,"linkSupport":true},"implementation":{"dynamicRegistration":false,"linkSupport":true},"typeDefinition":{"dynamicRegistration":false,"linkSupport":true},"documentSymbol":{"dynamicRegistration":false,"hierarchicalDocumentSymbolSupport":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"documentHighlight":{"dynamicRegistration":false},"codeAction":{"dynamicRegistration":false,"resolveSupport":{"properties":["edit","command"]},"dataSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"isPreferredSupport":true},"formatting":{"dynamicRegistration":false},"rangeFormatting":{"dynamicRegistration":false},"rename":{"dynamicRegistration":false,"prepareSupport":true},"semanticTokens":{"dynamicRegistration":false,"requests":{"full":{"delta":true}},"overlappingTokenSupport":true,"multilineTokenSupport":true,"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"]},"inlayHint":{"dynamicRegistration":false},"callHierarchy":{"dynamicRegistration":false},"typeHierarchy":{"dynamicRegistration":false},"diagnostic":{"dynamicRegistration":false},"publishDiagnostics":{"relatedInformation":false,"versionSupport":true,"codeDescriptionSupport":false,"tagSupport":{"valueSet":[1,2]}},"$streamingDiagnostics":{"dynamicRegistration":false}},"window":{"showDocument":{"support":true},"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"workDoneProgress":true},"general":{"positionEncodings":["utf-32","utf-8","utf-16"]},"experimental":{}},"workspaceFolders":[{"uri":"file:///tmp/eglot--fixture-I84AOf/project","name":"/tmp/eglot--fixture-I84AOf/project/"}]}}
> [jsonrpc] e[05:56:21.960] <-- initialize[1] {"jsonrpc":"2.0","id":1,"error":{"code":-32603,"message":"Request initialize failed with message: Could not find a valid TypeScript installation. Please ensure that the \"typescript\" dependency is installed in the workspace or that a valid `tsserver.path` is specified. Exiting."}}
> [jsonrpc] D[05:56:22.261] Connection state change: `killed
> '
>
> ----------b---y---e---b---y---e----------
> [stderr]
> [stderr]  Process EGLOT (project/(js-mode)) stderr finished
> [eglot-tests] Killing (hello.js), wiping /tmp/eglot--fixture-I84AOf
> Test eglot-test-javascript-basic backtrace:
>   signal(error ("[eglot] -32603: Request initialize failed with messag
>   error("[eglot] %s" "-32603: Request initialize failed with message:
>   eglot--error("-32603: Request initialize failed with message: Could
>   eglot--connect((js-mode) (transient . "/tmp/eglot--fixture-I84AOf/pr
>   apply(eglot--connect ((js-mode) (transient . "/tmp/eglot--fixture-I8
>   (let* ((timeout (or timeout 10)) (eglot-sync-connect t) (eglot-conne
>   (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((m
>   (let* ((timeout (car (cdr (plist-member --cl-rest-- ':timeout)))) (s
>   eglot--tests-connect()
>   apply(eglot--tests-connect nil)
>   (setq value-465 (apply fn-463 args-464))
>   (unwind-protect (setq value-465 (apply fn-463 args-464)) (setq form-
>   (if (unwind-protect (setq value-465 (apply fn-463 args-464)) (setq f
>   (let (form-description-467) (if (unwind-protect (setq value-465 (app
>   (let ((value-465 'ert-form-evaluation-aborted-466)) (let (form-descr
>   (let* ((fn-463 #'eglot--tests-connect) (args-464 (condition-case err
>   (progn (add-hook 'jsonrpc-event-hook --cl-eglot--event-sniff-- t) (l
>   (unwind-protect (progn (add-hook 'jsonrpc-event-hook --cl-eglot--eve
>   (progn (unwind-protect (progn (add-hook 'jsonrpc-event-hook --cl-egl
>   (let* ((--cl-eglot--event-sniff-- #'(lambda (_connection origin &res
>   (let* (s-notifs c-notifs) (let* ((--cl-eglot--event-sniff-- #'(lambd
>   (let ((eglot-server-programs '((js-mode "typescript-language-server"
>   (save-current-buffer (set-buffer (eglot--find-file-noselect "project
>   #f(lambda () [company-candidates typescript-mode-abbrev-table typesc
>   funcall(#f(lambda () [company-candidates typescript-mode-abbrev-tabl
>   (prog1 (funcall fn) (setq test-body-successful-p t))
>   (let ((process-environment (cons (format "XDG_CONFIG_HOME=%s" null-d
>   (unwind-protect (let ((process-environment (cons (format "XDG_CONFIG
>   (let* ((temporary-file-directory (file-truename temporary-file-direc
>   eglot--call-with-fixture((("project" ("hello.js" . "console.log('Hel
>   #f(lambda () [company-candidates typescript-mode-abbrev-table typesc
>   #f(compiled-function () #<bytecode 0x4b05185cd235c84>)()
>   handler-bind-1(#f(compiled-function () #<bytecode 0x4b05185cd235c84>
>   ert--run-test-internal(#s(ert--test-execution-info :test ... :result
>   ert-run-test(#s(ert-test :name eglot-test-javascript-basic :document
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
>   ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
>   ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
>   eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
>   command-line-1(("-L" ":." "--eval" "(use-package company :ensure t)"
>   command-line()
>   normal-top-level()
> Test eglot-test-javascript-basic condition:
>     (error
>      "[eglot] -32603: Request initialize failed with message: Could not find a valid TypeScript installation. Please ensure that the \"typescript\" dependency is installed in the workspace or that a valid `tsserver.path` is specified. Exiting.")
>    FAILED  19/60  eglot-test-javascript-basic (6.656023 sec) at lisp/progmodes/eglot-tests.el:950
>
>
> [eglot-tests] [eglot-test-project-wide-diagnostics-typescript]: test start
> [jsonrpc] (warning) Sentinel for EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) still hasn't run, deleting it!
> Warning (jsonrpc): Sentinel for EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) still hasn't run, deleting it!
> [jsonrpc] Server exited with status 9
> [eglot-tests] [eglot-test-project-wide-diagnostics-typescript]: FAILED
> [eglot-tests] contents of ` *EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) output*' #<buffer  *EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) output*>:
> [eglot-tests] contents of ` *EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) stderr*' #<buffer  *EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) stderr*>:
>
> Process EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) stderr finished
> [eglot-tests] contents of `*EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) events*' #<buffer *EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) events*>:
> [jsonrpc] D[05:56:46.699] Running language server: typescript-language-server --stdio
> [jsonrpc] e[05:56:46.702] --> initialize[1] {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"processId":334,"clientInfo":{"name":"Eglot","version":"1.24"},"rootPath":"/tmp/eglot--fixture-LKDs1o/","rootUri":"file:///tmp/eglot--fixture-LKDs1o","initializationOptions":{},"capabilities":{"workspace":{"applyEdit":true,"executeCommand":{"dynamicRegistration":false},"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","delete","rename"],"failureHandling":"abort"},"didChangeWatchedFiles":{"dynamicRegistration":true,"relativePatternSupport":true},"symbol":{"dynamicRegistration":false},"semanticTokens":{"refreshSupport":true},"configuration":true,"workspaceFolders":true},"textDocument":{"synchronization":{"dynamicRegistration":false,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":false,"completionItem":{"snippetSupport":false,"deprecatedSupport":true,"documentationFormat":["plaintext"],"resolveSupport":{"properties":["documentation","details","additionalTextEdits"]},"tagSupport":{"valueSet":[1]},"insertReplaceSupport":true},"contextSupport":true},"hover":{"dynamicRegistration":false,"contentFormat":["plaintext"]},"signatureHelp":{"dynamicRegistration":false,"signatureInformation":{"parameterInformation":{"labelOffsetSupport":true},"documentationFormat":["plaintext"],"activeParameterSupport":true}},"references":{"dynamicRegistration":false},"definition":{"dynamicRegistration":false,"linkSupport":true},"declaration":{"dynamicRegistration":false,"linkSupport":true},"implementation":{"dynamicRegistration":false,"linkSupport":true},"typeDefinition":{"dynamicRegistration":false,"linkSupport":true},"documentSymbol":{"dynamicRegistration":false,"hierarchicalDocumentSymbolSupport":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"documentHighlight":{"dynamicRegistration":false},"codeAction":{"dynamicRegistration":false,"resolveSupport":{"properties":["edit","command"]},"dataSupport":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}},"isPreferredSupport":true},"formatting":{"dynamicRegistration":false},"rangeFormatting":{"dynamicRegistration":false},"rename":{"dynamicRegistration":false,"prepareSupport":true},"semanticTokens":{"dynamicRegistration":false,"requests":{"full":{"delta":true}},"overlappingTokenSupport":true,"multilineTokenSupport":true,"tokenTypes":["namespace","type","class","enum","interface","struct","typeParameter","parameter","variable","property","enumMember","event","function","method","macro","keyword","modifier","comment","string","number","regexp","operator","decorator"],"tokenModifiers":["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"],"formats":["relative"]},"inlayHint":{"dynamicRegistration":false},"callHierarchy":{"dynamicRegistration":false},"typeHierarchy":{"dynamicRegistration":false},"diagnostic":{"dynamicRegistration":false},"publishDiagnostics":{"relatedInformation":false,"versionSupport":true,"codeDescriptionSupport":false,"tagSupport":{"valueSet":[1,2]}},"$streamingDiagnostics":{"dynamicRegistration":false}},"window":{"showDocument":{"support":true},"showMessage":{"messageActionItem":{"additionalPropertiesSupport":true}},"workDoneProgress":true},"general":{"positionEncodings":["utf-32","utf-8","utf-16"]},"experimental":{}},"workspaceFolders":[{"uri":"file:///tmp/eglot--fixture-LKDs1o","name":"/tmp/eglot--fixture-LKDs1o/"}]}}
> [jsonrpc] e[05:56:48.056] <-- initialize[1] {"jsonrpc":"2.0","id":1,"error":{"code":-32603,"message":"Request initialize failed with message: Could not find a valid TypeScript installation. Please ensure that the \"typescript\" dependency is installed in the workspace or that a valid `tsserver.path` is specified. Exiting."}}
> [jsonrpc] D[05:56:48.357] Connection state change: `killed
> '
>
> ----------b---y---e---b---y---e----------
> [stderr]
> [stderr]  Process EGLOT (eglot--fixture-LKDs1o/(typescript-mode)) stderr finished
> [eglot-tests] Killing (hello2.ts), wiping /tmp/eglot--fixture-LKDs1o
> Test eglot-test-project-wide-diagnostics-typescript backtrace:
>   signal(error ("[eglot] -32603: Request initialize failed with messag
>   error("[eglot] %s" "-32603: Request initialize failed with message:
>   eglot--error("-32603: Request initialize failed with message: Could
>   eglot--connect((typescript-mode) (vc Git "/tmp/eglot--fixture-LKDs1o
>   apply(eglot--connect ((typescript-mode) (vc Git "/tmp/eglot--fixture
>   (let* ((timeout (or timeout 10)) (eglot-sync-connect t) (eglot-conne
>   (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((m
>   (let* ((timeout (car (cdr (plist-member --cl-rest-- ':timeout)))) (s
>   eglot--tests-connect()
>   (progn (add-hook 'jsonrpc-event-hook --cl-eglot--event-sniff-- t) (e
>   (unwind-protect (progn (add-hook 'jsonrpc-event-hook --cl-eglot--eve
>   (progn (unwind-protect (progn (add-hook 'jsonrpc-event-hook --cl-egl
>   (let* ((--cl-eglot--event-sniff-- #'(lambda (_connection origin &res
>   (let* (s-notifs) (let* ((--cl-eglot--event-sniff-- #'(lambda (_conne
>   (save-current-buffer (set-buffer (eglot--find-file-noselect "project
>   (let ((eglot-server-programs '((typescript-mode "typescript-language
>   #f(lambda () [company-candidates typescript-mode-abbrev-table typesc
>   funcall(#f(lambda () [company-candidates typescript-mode-abbrev-tabl
>   (prog1 (funcall fn) (setq test-body-successful-p t))
>   (let ((process-environment (cons (format "XDG_CONFIG_HOME=%s" null-d
>   (unwind-protect (let ((process-environment (cons (format "XDG_CONFIG
>   (let* ((temporary-file-directory (file-truename temporary-file-direc
>   eglot--call-with-fixture((("project" ("hello.ts" . "const thing = 5;
>   #f(lambda () [company-candidates typescript-mode-abbrev-table typesc
>   #f(compiled-function () #<bytecode 0x4b05185cd235c84>)()
>   handler-bind-1(#f(compiled-function () #<bytecode 0x4b05185cd235c84>
>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>   ert-run-test(#s(ert-test :name eglot-test-project-wide-diagnostics-t
>   ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>   ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
>   ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
>   ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
>   eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
>   command-line-1(("-L" ":." "--eval" "(use-package company :ensure t)"
>   command-line()
>   normal-top-level()
> Test eglot-test-project-wide-diagnostics-typescript condition:
>     (error
>      "[eglot] -32603: Request initialize failed with message: Could not find a valid TypeScript installation. Please ensure that the \"typescript\" dependency is installed in the workspace or that a valid `tsserver.path` is specified. Exiting.")
>    FAILED  27/60  eglot-test-project-wide-diagnostics-typescript (2.020311 sec) at lisp/progmodes/eglot-tests.el:981
> --8<---------------cut here---------------end--------------->8---
>
> See for example <https://emba.gnu.org/emacs/emacs/-/jobs/129675>.
>
> I don't know since when this fails; emba was out of proper work for the
> last two weeks. I suppose a proper skip-unless is missing for the two tests.
>
> Best regards, Michael.



-- 
João Távora
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.