all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Kangas <stefankangas@gmail.com>
To: "João Távora" <joaotavora@gmail.com>, emacs-devel@gnu.org
Subject: Re: emacs-29 9c0d7bb73b 2/2: Add automated tests for Eglot
Date: Mon, 12 Dec 2022 00:34:30 -0800	[thread overview]
Message-ID: <CADwFkmnN6DRtqdpnD-9LHyEDsWooeDx4WDV-thHPT5NEA_2Rmw@mail.gmail.com> (raw)
In-Reply-To: <20221212001223.E9A9DC004BE@vcs2.savannah.gnu.org>

[-- Attachment #1: Type: text/plain, Size: 503 bytes --]

João Távora <joaotavora@gmail.com> writes:

> branch: emacs-29
> commit 9c0d7bb73bb6a8d81b476d3fa497569c3061bdca
> Author: João Távora <joaotavora@gmail.com>
> Commit: João Távora <joaotavora@gmail.com>
>
>     Add automated tests for Eglot

I'm seeing some test failures:

SUMMARY OF TEST RESULTS
-----------------------
Files examined: 463
Ran 7070 tests, 6976 results as expected, 5 unexpected, 89 skipped
1 files contained unexpected results:
  lisp/progmodes/eglot-tests.log

[-- Attachment #2: eglot-tests.log --]
[-- Type: application/octet-stream, Size: 34320 bytes --]

Running 50 tests (2022-12-12 09:10:56+0100, selector ‘(not (or (tag :expensive-test) (tag :unstable)))’)
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (cena.c coiso.c merdix.c), wiping /tmp/eglot--fixtureKJKS9O, restoring nil
   passed   1/50  auto-detect-running-server (0.323126 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `project'.
[jsonrpc] Server exited with status 9
[eglot] (warning) Reconnecting after unexpected server exit.
Warning (eglot): Reconnecting after unexpected server exit.
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `project'.
[eglot] Reconnected!
[jsonrpc] Server exited with status 9
[eglot] (warning) Not auto-reconnecting, last one didn't last long.
Warning (eglot): Not auto-reconnecting, last one didn't last long.
[eglot] Test body was OK
[eglot] Killing (thingy.c), wiping /tmp/eglot--fixtureJWSU9J, restoring nil
   passed   2/50  auto-reconnect (2.348442 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `project'.
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Test body was OK
[eglot] Killing nil, wiping /tmp/eglot--fixturerheXZq, restoring nil
   passed   3/50  auto-shutdown (0.141519 sec)
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Non-critical shutdown error after test: (jsonrpc-error "request id=7 failed:" (jsonrpc-error-message . "Timed out"))
[eglot] Killing (something.py), wiping /tmp/eglot--fixturehz1FzJ, restoring nil
   passed   4/50  basic-completions (5.267488 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `diag-project'.
[eglot] Waiting a bit...
[eglot] Event detected:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
	  (:diagnostics
	   [(:code "undeclared_var_use_suggest" :message "Use of undeclared identifier 'froat'; did you mean 'float'? (fix available)" :range
		   (:end
		    (:character 16 :line 0)
		    :start
		    (:character 11 :line 0))
		   :severity 1 :source "clang")]
	   :uri "file:///tmp/eglot--fixture7CbD51/diag-project/main.c" :version 0))


[eglot] Test body was OK
[eglot] Asking EGLOT (diag-project/(c-mode c-ts-mode c++-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (main.c), wiping /tmp/eglot--fixture7CbD51, restoring nil
   passed   5/50  basic-diagnostics (0.342727 sec)
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (something.py), wiping /tmp/eglot--fixturepkAN9D, restoring nil
   passed   6/50  basic-xref (1.731290 sec)
/bin/bash: line 1: cargo: command not found
[eglot] Test body was A FAILURE
[eglot] Killing (main.rs), wiping /tmp/eglot--fixtureEUaOvq, restoring nil
Test diagnostic-tags-unnecessary-code backtrace:
  signal(ert-test-failed (((should (zerop (shell-command "cargo init")
  ert-fail(((should (zerop (shell-command "cargo init"))) :form (= 0 1
  #f(compiled-function () #<bytecode -0x8a8f76411610a21>)()
  eglot--call-with-fixture((("diagnostic-tag-project" ("main.rs" . "fn
  #f(compiled-function () #<bytecode -0x1f963e3a32b08def>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name diagnostic-tags-unnecessary-code :doc
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/progmodes/eglot-test
  command-line()
  normal-top-level()
Test diagnostic-tags-unnecessary-code condition:
    (ert-test-failed
     ((should
       (zerop
	(shell-command "cargo init")))
      :form
      (= 0 127)
      :value nil))
   FAILED   7/50  diagnostic-tags-unnecessary-code (0.008564 sec) at lisp/progmodes/eglot-tests.el:431
  skipped   8/50  eclipse-connect (0.000291 sec)
   passed   9/50  eglot--glob-test (0.018594 sec)
  skipped  10/50  eglot--path-to-uri-windows (0.000083 sec)
[eglot] Connected! Server `clangd' now managing `(c++-mode c-mode c-ts-mode c++-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c++-mode c-mode c-ts-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (foo.cpp foolib.h foolib.c), wiping /tmp/eglot--fixture7AHwRT, restoring nil
   passed  11/50  eglot--same-server-multi-mode (0.148467 sec)
Tramp: Sending command ‘exec /bin/sh’
Tramp: Found remote shell prompt on ‘joffe’


Tramp: Sending command ‘exec /bin/sh’
Tramp: Found remote shell prompt on ‘joffe’
Tramp: Sending command ‘exec /bin/sh’
Tramp: Found remote shell prompt on ‘joffe’
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `project'.




[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (cena.c coiso.c merdix.c), wiping /loopback:joffe:/tmp/eglot--fixtureEsbEW8, restoring nil
   passed  12/50  eglot--tramp-test (0.863837 sec)
Tramp: Sending command ‘exec /bin/sh’
Tramp: Found remote shell prompt on ‘joffe’


Tramp: Sending command ‘exec /bin/sh’
Tramp: Found remote shell prompt on ‘joffe’
Tramp: Sending command ‘exec /bin/sh’
Tramp: Found remote shell prompt on ‘joffe’
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot] Event detected:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
	  (:textDocument
	   (:uri "file:///tmp/eglot--fixtureqeONNk/project/foo.c" :version 1)
	   :contentChanges
	   [(:range
	     (:start
	      (:line 0 :character 71)
	      :end
	      (:line 0 :character 71))
	     :rangeLength 0 :text "p ")]))

[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (foo.c), wiping /loopback:joffe:/tmp/eglot--fixtureqeONNk, restoring nil
File is missing: /loopback:joffe:/tmp/eglot--fixtureqeONNk/project/foo.c~
   passed  13/50  eglot--tramp-test-2 (0.476373 sec)
   passed  14/50  eglot-capabilities (0.000094 sec)
   passed  15/50  eglot-dcase (0.000098 sec)
   passed  16/50  eglot-dcase-issue-452 (0.000081 sec)
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Non-critical shutdown error after test: (jsonrpc-error "request id=10 failed:" (jsonrpc-error-message . "Timed out"))
[eglot] Killing (something.py), wiping /tmp/eglot--fixtureAgUev4, restoring nil
   passed  17/50  eglot-eldoc-after-completions (5.346342 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode c-ts-mode c++-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (foo.c bar.c), wiping /tmp/eglot--fixture6ETUlV, restoring (c-mode-hook)
   passed  18/50  eglot-ensure (0.262567 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot] Event detected:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
	  (:textDocument
	   (:uri "file:///tmp/eglot--fixtureg0Yjoa/project/foo.c" :version 1)
	   :contentChanges
	   [(:range
	     (:start
	      (:line 0 :character 71)
	      :end
	      (:line 0 :character 71))
	     :rangeLength 0 :text "p ")]))

[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (foo.c), wiping /tmp/eglot--fixtureg0Yjoa, restoring nil
   passed  19/50  eglot-lsp-abiding-column (0.141156 sec)
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (hover-first.py), wiping /tmp/eglot--fixtureQdnauc, restoring nil
   passed  20/50  eglot-multiline-eldoc (3.299877 sec)
   passed  21/50  eglot-server-programs-class-name-and-contact-spec (0.002112 sec)
   passed  22/50  eglot-server-programs-class-name-and-plist (0.000214 sec)
   passed  23/50  eglot-server-programs-executable-multiple-major-modes (0.000197 sec)
   passed  24/50  eglot-server-programs-executable-with-arg (0.000180 sec)
   passed  25/50  eglot-server-programs-executable-with-args-and-autoport (0.000169 sec)
   passed  26/50  eglot-server-programs-function (0.000186 sec)
   passed  27/50  eglot-server-programs-guess-lang (0.000298 sec)
   passed  28/50  eglot-server-programs-host-and-port (0.000161 sec)
   passed  29/50  eglot-server-programs-host-and-port-and-tcp-args (0.000168 sec)
   passed  30/50  eglot-server-programs-simple-executable (0.000180 sec)
   passed  31/50  eglot-server-programs-simple-missing-executable (0.000194 sec)
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (hover-first.py), wiping /tmp/eglot--fixtureOnXekx, restoring nil
   passed  32/50  eglot-single-line-eldoc (2.559164 sec)
   passed  33/50  eglot-strict-interfaces (0.000322 sec)
[jsonrpc] Server exited with status 9
[eglot] Test body was A FAILURE
[eglot]  *EGLOT (project/(js-mode)) output*:
[eglot]  *EGLOT (project/(js-mode)) stderr*:

Process EGLOT (project/(js-mode)) stderr finished
[eglot] *EGLOT (project/(js-mode)) events*:
[internal] Mon Dec 12 09:11:19 2022:
(:message "Running language server: typescript-language-server --stdio")
[client-request] (id:1) Mon Dec 12 09:11:19 2022:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
	  (:processId 1771677 :rootPath "/tmp/eglot--fixtureb788i9/project/" :rootUri "file:///tmp/eglot--fixtureb788i9/project" :initializationOptions #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
																				      ())
		      :capabilities
		      (:workspace
		       (:applyEdit t :executeCommand
				   (:dynamicRegistration :json-false)
				   :workspaceEdit
				   (:documentChanges t)
				   :didChangeWatchedFiles
				   (:dynamicRegistration t)
				   :symbol
				   (:dynamicRegistration :json-false)
				   :configuration t :workspaceFolders t)
		       :textDocument
		       (:synchronization
			(:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
			:completion
			(:dynamicRegistration :json-false :completionItem
					      (:snippetSupport :json-false :deprecatedSupport t :resolveSupport
							       (:properties
								["documentation" "details" "additionalTextEdits"])
							       :tagSupport
							       (:valueSet
								[1]))
					      :contextSupport t)
			:hover
			(:dynamicRegistration :json-false :contentFormat
					      ["plaintext"])
			:signatureHelp
			(:dynamicRegistration :json-false :signatureInformation
					      (:parameterInformation
					       (:labelOffsetSupport t)
					       :activeParameterSupport t))
			:references
			(:dynamicRegistration :json-false)
			:definition
			(:dynamicRegistration :json-false :linkSupport t)
			:declaration
			(:dynamicRegistration :json-false :linkSupport t)
			:implementation
			(:dynamicRegistration :json-false :linkSupport t)
			:typeDefinition
			(:dynamicRegistration :json-false :linkSupport t)
			:documentSymbol
			(:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :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 :json-false)
			:codeAction
			(:dynamicRegistration :json-false :codeActionLiteralSupport
					      (:codeActionKind
					       (:valueSet
						["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"]))
					      :isPreferredSupport t)
			:formatting
			(:dynamicRegistration :json-false)
			:rangeFormatting
			(:dynamicRegistration :json-false)
			:rename
			(:dynamicRegistration :json-false)
			:publishDiagnostics
			(:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport
					     (:valueSet
					      [1 2])))
		       :experimental #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
						   ()))
		      :workspaceFolders
		      [(:uri "file:///tmp/eglot--fixtureb788i9/project" :name "/tmp/eglot--fixtureb788i9/project/")]))
[server-reply] (id:1) ERROR Mon Dec 12 09:11:22 2022:
(:jsonrpc "2.0" :id 1 :error
	  (:code -32603 :message "Request initialize failed with message: Could not find a valid tsserver version. Exiting."))
[internal] Mon Dec 12 09:11:22 2022:
(:message "Connection state changed" :change "killed\n")

----------b---y---e---b---y---e----------
[stderr] 
[stderr] 
[stderr] nil
[stderr] nil
[stderr] Process EGLOT (project/(js-mode)) stderr finished
[eglot] Killing (hello.js), wiping /tmp/eglot--fixtureb788i9, restoring nil
Test javascript-basic backtrace:
  error("[eglot] %s" "-32603: Request initialize failed with message: 
  eglot--error("-32603: Request initialize failed with message: Co..."
  eglot--connect((js-mode) (transient . "/tmp/eglot--fixtureb788i9/pro
  apply(eglot--connect ((js-mode) (transient . "/tmp/eglot--fixtureb78
  eglot--tests-connect()
  apply(eglot--tests-connect nil)
  #f(compiled-function () #<bytecode 0xe5c8480dcb27b>)()
  eglot--call-with-fixture((("project" ("hello.js" . "console.log('Hel
  #f(compiled-function () #<bytecode 0xf760de60d51bd60>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name javascript-basic :documentation "Test
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/progmodes/eglot-test
  command-line()
  normal-top-level()
Test javascript-basic condition:
    (error "[eglot] -32603: Request initialize failed with message: Could not find a valid tsserver version. Exiting.")
   FAILED  34/50  javascript-basic (3.135755 sec) at lisp/progmodes/eglot-tests.el:723
  skipped  35/50  json-basic (0.000317 sec)
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
Complete, but not unique

[eglot] Test body was OK
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (something.py), wiping /tmp/eglot--fixturej5dyPN, restoring nil
   passed  36/50  non-unique-completions (3.915684 sec)
/bin/bash: line 1: cargo: command not found
[eglot] Test body was A FAILURE
[eglot] Killing (other-file.rs), wiping /tmp/eglot--fixtureCVZOqZ, restoring nil
Test project-wide-diagnostics-rust-analyzer backtrace:
  signal(ert-test-failed (((should (zerop (shell-command "cargo init")
  ert-fail(((should (zerop (shell-command "cargo init"))) :form (= 0 1
  #f(compiled-function () #<bytecode -0xd049d4dc592f371>)()
  eglot--call-with-fixture((("project" ("main.rs" . "fn main() -> () {
  #f(compiled-function () #<bytecode -0x1f963e3a3d43edef>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name project-wide-diagnostics-rust-analyze
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/progmodes/eglot-test
  command-line()
  normal-top-level()
Test project-wide-diagnostics-rust-analyzer condition:
    (ert-test-failed
     ((should
       (zerop
	(shell-command "cargo init")))
      :form
      (= 0 127)
      :value nil))
   FAILED  37/50  project-wide-diagnostics-rust-analyzer (0.016784 sec) at lisp/progmodes/eglot-tests.el:780
[jsonrpc] Server exited with status 9
[eglot] Test body was A FAILURE
[eglot]  *EGLOT (eglot--fixtureUsREZP/(typescript-mode)) output*:
[eglot]  *EGLOT (eglot--fixtureUsREZP/(typescript-mode)) stderr*:

Process EGLOT (eglot--fixtureUsREZP/(typescript-mode)) stderr finished
[eglot] *EGLOT (eglot--fixtureUsREZP/(typescript-mode)) events*:
[internal] Mon Dec 12 09:11:27 2022:
(:message "Running language server: typescript-language-server --stdio")
[client-request] (id:1) Mon Dec 12 09:11:27 2022:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
	  (:processId 1771677 :rootPath "/tmp/eglot--fixtureUsREZP/" :rootUri "file:///tmp/eglot--fixtureUsREZP" :initializationOptions #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
																		      ())
		      :capabilities
		      (:workspace
		       (:applyEdit t :executeCommand
				   (:dynamicRegistration :json-false)
				   :workspaceEdit
				   (:documentChanges t)
				   :didChangeWatchedFiles
				   (:dynamicRegistration t)
				   :symbol
				   (:dynamicRegistration :json-false)
				   :configuration t :workspaceFolders t)
		       :textDocument
		       (:synchronization
			(:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
			:completion
			(:dynamicRegistration :json-false :completionItem
					      (:snippetSupport :json-false :deprecatedSupport t :resolveSupport
							       (:properties
								["documentation" "details" "additionalTextEdits"])
							       :tagSupport
							       (:valueSet
								[1]))
					      :contextSupport t)
			:hover
			(:dynamicRegistration :json-false :contentFormat
					      ["plaintext"])
			:signatureHelp
			(:dynamicRegistration :json-false :signatureInformation
					      (:parameterInformation
					       (:labelOffsetSupport t)
					       :activeParameterSupport t))
			:references
			(:dynamicRegistration :json-false)
			:definition
			(:dynamicRegistration :json-false :linkSupport t)
			:declaration
			(:dynamicRegistration :json-false :linkSupport t)
			:implementation
			(:dynamicRegistration :json-false :linkSupport t)
			:typeDefinition
			(:dynamicRegistration :json-false :linkSupport t)
			:documentSymbol
			(:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :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 :json-false)
			:codeAction
			(:dynamicRegistration :json-false :codeActionLiteralSupport
					      (:codeActionKind
					       (:valueSet
						["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"]))
					      :isPreferredSupport t)
			:formatting
			(:dynamicRegistration :json-false)
			:rangeFormatting
			(:dynamicRegistration :json-false)
			:rename
			(:dynamicRegistration :json-false)
			:publishDiagnostics
			(:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport
					     (:valueSet
					      [1 2])))
		       :experimental #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
						   ()))
		      :workspaceFolders
		      [(:uri "file:///tmp/eglot--fixtureUsREZP" :name "/tmp/eglot--fixtureUsREZP/")]))
[server-reply] (id:1) ERROR Mon Dec 12 09:11:27 2022:
(:jsonrpc "2.0" :id 1 :error
	  (:code -32603 :message "Request initialize failed with message: Could not find a valid tsserver version. Exiting."))
[internal] Mon Dec 12 09:11:27 2022:
(:message "Connection state changed" :change "killed\n")

----------b---y---e---b---y---e----------
[stderr] 
[stderr] 
[stderr] nil
[stderr] nil
[stderr] Process EGLOT (eglot--fixtureUsREZP/(typescript-mode)) stderr finished
[eglot] Killing (hello2.ts), wiping /tmp/eglot--fixtureUsREZP, restoring nil
Test project-wide-diagnostics-typescript backtrace:
  error("[eglot] %s" "-32603: Request initialize failed with message: 
  eglot--error("-32603: Request initialize failed with message: Co..."
  eglot--connect((typescript-mode) (vc Git "/tmp/eglot--fixtureUsREZP/
  apply(eglot--connect ((typescript-mode) (vc Git "/tmp/eglot--fixture
  eglot--tests-connect()
  #f(compiled-function () #<bytecode 0x5d937f73c973338>)()
  eglot--call-with-fixture((("project" ("hello.ts" . "const thing = 5;
  #f(compiled-function () #<bytecode 0xf760de60d521160>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name project-wide-diagnostics-typescript :
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/progmodes/eglot-test
  command-line()
  normal-top-level()
Test project-wide-diagnostics-typescript condition:
    (error "[eglot] -32603: Request initialize failed with message: Could not find a valid tsserver version. Exiting.")
   FAILED  38/50  project-wide-diagnostics-typescript (0.478075 sec) at lisp/progmodes/eglot-tests.el:752
[eglot] Connected! Server `pylsp' now managing `(python-mode python-ts-mode)' buffers in project `project'.
[eglot] applying 1 edits to `something.py'... 
[eglot] applying 1 edits to `something.py'...done
[eglot] Test body was A FAILURE
[eglot] Asking EGLOT (project/(python-mode python-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot]  *EGLOT (project/(python-mode python-ts-mode)) output*:
[eglot]  *EGLOT (project/(python-mode python-ts-mode)) stderr*:
2022-12-12 09:11:28,534 CET - WARNING - pylsp.config.config - Failed to load pylsp entry point 'yapf': No module named 'whatthepatch'
2022-12-12 09:11:28,645 CET - WARNING - matplotlib - Matplotlib created a temporary config/cache directory at /tmp/matplotlib-4cjuat2i because the default path (/dev/null/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.

Process EGLOT (project/(python-mode python-ts-mode)) stderr finished
[eglot] *EGLOT (project/(python-mode python-ts-mode)) events*:
[internal] Mon Dec 12 09:11:27 2022:
(:message "Running language server: /bin/pylsp")
[client-request] (id:1) Mon Dec 12 09:11:27 2022:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
	  (:processId 1771677 :rootPath "/tmp/eglot--fixture2r4nUz/project/" :rootUri "file:///tmp/eglot--fixture2r4nUz/project" :initializationOptions #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
																				      ())
		      :capabilities
		      (:workspace
		       (:applyEdit t :executeCommand
				   (:dynamicRegistration :json-false)
				   :workspaceEdit
				   (:documentChanges t)
				   :didChangeWatchedFiles
				   (:dynamicRegistration t)
				   :symbol
				   (:dynamicRegistration :json-false)
				   :configuration t :workspaceFolders t)
		       :textDocument
		       (:synchronization
			(:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
			:completion
			(:dynamicRegistration :json-false :completionItem
					      (:snippetSupport :json-false :deprecatedSupport t :resolveSupport
							       (:properties
								["documentation" "details" "additionalTextEdits"])
							       :tagSupport
							       (:valueSet
								[1]))
					      :contextSupport t)
			:hover
			(:dynamicRegistration :json-false :contentFormat
					      ["plaintext"])
			:signatureHelp
			(:dynamicRegistration :json-false :signatureInformation
					      (:parameterInformation
					       (:labelOffsetSupport t)
					       :activeParameterSupport t))
			:references
			(:dynamicRegistration :json-false)
			:definition
			(:dynamicRegistration :json-false :linkSupport t)
			:declaration
			(:dynamicRegistration :json-false :linkSupport t)
			:implementation
			(:dynamicRegistration :json-false :linkSupport t)
			:typeDefinition
			(:dynamicRegistration :json-false :linkSupport t)
			:documentSymbol
			(:dynamicRegistration :json-false :hierarchicalDocumentSymbolSupport t :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 :json-false)
			:codeAction
			(:dynamicRegistration :json-false :codeActionLiteralSupport
					      (:codeActionKind
					       (:valueSet
						["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"]))
					      :isPreferredSupport t)
			:formatting
			(:dynamicRegistration :json-false)
			:rangeFormatting
			(:dynamicRegistration :json-false)
			:rename
			(:dynamicRegistration :json-false)
			:publishDiagnostics
			(:relatedInformation :json-false :codeDescriptionSupport :json-false :tagSupport
					     (:valueSet
					      [1 2])))
		       :experimental #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
						   ()))
		      :workspaceFolders
		      [(:uri "file:///tmp/eglot--fixture2r4nUz/project" :name "/tmp/eglot--fixture2r4nUz/project/")]))
[stderr] 2022-12-12 09:11:28,534 CET - WARNING - pylsp.config.config - Failed to load pylsp entry point 'yapf': No module named 'whatthepatch'
[stderr] 2022-12-12 09:11:28,645 CET - WARNING - matplotlib - Matplotlib created a temporary config/cache directory at /tmp/matplotlib-4cjuat2i because the default path (/dev/null/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing.
[server-reply] (id:1) Mon Dec 12 09:11:28 2022:
(:jsonrpc "2.0" :id 1 :result
	  (:capabilities
	   (:codeActionProvider t :codeLensProvider
				(:resolveProvider :json-false)
				:completionProvider
				(:resolveProvider t :triggerCharacters
						  ["."])
				:documentFormattingProvider t :documentHighlightProvider t :documentRangeFormattingProvider t :documentSymbolProvider t :definitionProvider t :executeCommandProvider
				(:commands
				 [])
				:hoverProvider t :referencesProvider t :renameProvider t :foldingRangeProvider t :signatureHelpProvider
				(:triggerCharacters
				 ["(" "," "="])
				:textDocumentSync
				(:change 2 :save
					 (:includeText t)
					 :openClose t)
				:workspace
				(:workspaceFolders
				 (:supported t :changeNotifications t))
				:experimental nil)
	   :serverInfo
	   (:name "pylsp" :version "1.5.0")))
[client-notification] Mon Dec 12 09:11:28 2022:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
							    ()))
[client-notification] Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
	  (:textDocument
	   (:uri "file:///tmp/eglot--fixture2r4nUz/project/something.py" :version 0 :languageId "python" :text "def a():pass\n\ndef b():pass")))
[client-notification] Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
	  (:settings #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 data
				   ())))
[client-request] (id:2) Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :id 2 :method "textDocument/rangeFormatting" :params
	  (:textDocument
	   (:uri "file:///tmp/eglot--fixture2r4nUz/project/something.py")
	   :options
	   (:tabSize 8 :insertSpaces t :insertFinalNewline t :trimFinalNewlines t)
	   :range
	   (:start
	    (:line 2 :character 0)
	    :end
	    (:line 2 :character 12))))
[server-reply] (id:2) Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :id 2 :result
	  [(:range
	    (:start
	     (:line 0 :character 0)
	     :end
	     (:line 3 :character 0))
	    :newText "def a():pass\n\ndef b(): pass")])
[client-request] (id:3) Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :id 3 :method "shutdown" :params nil)
[server-reply] (id:3) Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :id 3 :result nil)
[client-notification] Mon Dec 12 09:11:29 2022:
(:jsonrpc "2.0" :method "exit" :params nil)
[internal] Mon Dec 12 09:11:29 2022:
(:message "Connection state changed" :change "killed\n")

----------b---y---e---b---y---e----------
[stderr] 
[stderr] 
[stderr] nil
[stderr] nil
[stderr] Process EGLOT (project/(python-mode python-ts-mode)) stderr finished
[eglot] Killing (something.py), wiping /tmp/eglot--fixture2r4nUz, restoring nil
Test python-autopep-formatting backtrace:
  signal(ert-test-failed (((should (string= (buffer-string) "def a():p
  ert-fail(((should (string= (buffer-string) "def a():pass\n\n\ndef b(
  #f(compiled-function () #<bytecode 0x100b52a9229872e>)()
  eglot--call-with-fixture((("project" ("something.py" . "def a():pass
  #f(compiled-function () #<bytecode 0x1521b0156d1dc18d>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name python-autopep-formatting :documentat
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/progmodes/eglot-test
  command-line()
  normal-top-level()
Test python-autopep-formatting condition:
    (ert-test-failed
     ((should
       (string=
	(buffer-string)
	"def a():pass\n\n\ndef b(): pass\n"))
      :form
      (string= "def a():pass\n\ndef b(): pass" "def a():pass\n\n\ndef b(): pass\n")
      :value nil :explanation
      (arrays-of-different-length 27 29 "def a():pass\n\ndef b(): pass" "def a():pass\n\n\ndef b(): pass\n" first-mismatch-at 14)))
   FAILED  39/50  python-autopep-formatting (1.429933 sec) at lisp/progmodes/eglot-tests.el:658
  skipped  40/50  python-yapf-formatting (0.000162 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode c-ts-mode c++-mode c++-ts-mode)' buffers in project `rename-project'.
[eglot] applying 2 edits to `main.c'... 
[eglot] applying 2 edits to `main.c'...done
[eglot] Edit successful!
[eglot] Test body was OK
[eglot] Asking EGLOT (rename-project/(c-mode c-ts-mode c++-mode c++-ts-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (main.c), wiping /tmp/eglot--fixture4RV9iR, restoring nil
   passed  41/50  rename-a-symbol (0.155775 sec)
  skipped  42/50  rust-analyzer-hover-after-edit (0.000675 sec)
  skipped  43/50  rust-analyzer-watches-files (0.000644 sec)
  skipped  44/50  rust-on-type-formatting (0.000667 sec)
[eglot] Waiting in background for server `EGLOT (project/(c-mode))'
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (something.c), wiping /tmp/eglot--fixture4zQ4os, restoring nil
   passed  45/50  slow-async-connection (2.216443 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (something.c), wiping /tmp/eglot--fixturehDDt2e, restoring nil
   passed  46/50  slow-sync-connection-intime (1.159687 sec)
[eglot] Connected! Server `clangd' now managing `(c-mode)' buffers in project `project'.
[eglot] Test body was OK
[eglot] Asking EGLOT (project/(c-mode)) politely to terminate
[jsonrpc] Server exited with status 9
[eglot] Killing (something.c), wiping /tmp/eglot--fixtureZh52RI, restoring nil
   passed  47/50  slow-sync-connection-wait (1.156091 sec)
[jsonrpc] Server exited with status 9
[eglot] Test body was OK
[eglot] Killing (something.c), wiping /tmp/eglot--fixtureEIjSp4, restoring nil
   passed  48/50  slow-sync-timeout (1.129866 sec)
  skipped  49/50  snippet-completions (0.000305 sec)
  skipped  50/50  snippet-completions-with-company (0.000267 sec)

Ran 50 tests, 36 results as expected, 5 unexpected, 9 skipped (2022-12-12 09:11:35+0100, 38.597245 sec)

5 unexpected results:
   FAILED  diagnostic-tags-unnecessary-code
   FAILED  javascript-basic
   FAILED  project-wide-diagnostics-rust-analyzer
   FAILED  project-wide-diagnostics-typescript
   FAILED  python-autopep-formatting

9 skipped results:
  SKIPPED  eclipse-connect
  SKIPPED  eglot--path-to-uri-windows
  SKIPPED  json-basic
  SKIPPED  python-yapf-formatting
  SKIPPED  rust-analyzer-hover-after-edit
  SKIPPED  rust-analyzer-watches-files
  SKIPPED  rust-on-type-formatting
  SKIPPED  snippet-completions
  SKIPPED  snippet-completions-with-company


       reply	other threads:[~2022-12-12  8:34 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <167080394233.4339.5863353994038854528@vcs2.savannah.gnu.org>
     [not found] ` <20221212001223.E9A9DC004BE@vcs2.savannah.gnu.org>
2022-12-12  8:34   ` Stefan Kangas [this message]
2022-12-12  9:52     ` emacs-29 9c0d7bb73b 2/2: Add automated tests for Eglot João Távora
2022-12-12 11:26       ` Stefan Kangas
2022-12-12 11:56         ` João Távora
2022-12-12 21:52           ` Stefan Kangas
2022-12-13  8:49             ` Michael Albinus
2022-12-13 19:23               ` Stefan Kangas
2022-12-14  9:55                 ` Michael Albinus
2022-12-12 10:32   ` Michael Albinus
2022-12-12 10:37     ` João Távora
2022-12-13 19:10       ` Michael Albinus
2022-12-13 20:18         ` João Távora
2022-12-14  9:57           ` Michael Albinus
2022-12-14 12:58             ` João Távora
2022-12-14 14:11               ` Michael Albinus
2022-12-14 15:46                 ` João Távora
2022-12-14 17:41                   ` Stefan Monnier
2022-12-14 21:42                   ` Stefan Kangas
2022-12-15  9:12                     ` Michael Albinus
2022-12-15 12:08                       ` João Távora
2022-12-12 10:59   ` Michael Albinus
2022-12-12 11:03     ` João Távora
2022-12-12 11:08       ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CADwFkmnN6DRtqdpnD-9LHyEDsWooeDx4WDV-thHPT5NEA_2Rmw@mail.gmail.com \
    --to=stefankangas@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=joaotavora@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.