GNU bug report logs - #61637
30.0.50; Fix Eglot tests that need HOME=~USER

Previous Next

Package: emacs;

Reported by: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Date: Sun, 19 Feb 2023 19:16:02 UTC

Severity: minor

Tags: patch

Found in version 30.0.50

Fixed in version 30.1

Done: Basil Contovounesios <contovob <at> tcd.ie>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: João Távora <joaotavora <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "Basil L. Contovounesios" <contovob <at> tcd.ie>, 61637 <at> debbugs.gnu.org
Subject: bug#61637: 30.0.50; Fix Eglot tests that need HOME=~USER
Date: Sat, 04 Mar 2023 01:04:45 +0000
Hi Eli, Basil

I've recently bumped into this problem myself.  As I've been doing more
development on Eglot recently, running the test suite becomes a real
necessity.  

I installed some language servers like clangd, rust-analyzer and pylsp,
and they need to a valid HOME to be able to function.  Bare 'make check'
always fails for me as of late.  If one happens to have the servers
installed, the problem is twofold:

* For Eglot developers, it's impossible to batch-test Eglot

* For other devs who are doing changes elsewhere and looking for
  breakage, they'll have to reason about the 'make check' failure.

Another option is to have eglot-tests.el read a new environment var:

diff --git a/test/lisp/progmodes/eglot-tests.el b/test/lisp/progmodes/eglot-tests.el
index 5d5de59a19a..ad994915c52 100644
--- a/test/lisp/progmodes/eglot-tests.el
+++ b/test/lisp/progmodes/eglot-tests.el
@@ -116,9 +116,7 @@ eglot--call-with-fixture
                    ;; installations for LSP servers like pylsp, making
                    ;; these tests mostly useless, so we hack around it
                    ;; here with a great big hack.
-                   ,(format "HOME=%s"
-                            (if (file-exists-p home) home
-                              (format "/home/%s" (getenv "USER")))))
+                   ,(format "HOME=%s" (or (getenv "EGLOT_REAL_HOME") (getenv "HOME"))))
                  process-environment))
                ;; Prevent "Can't guess python-indent-offset ..." messages.
                (python-indent-guess-indent-offset-verbose . nil)

This is acceptable for Eglot devs like me, but other devs that don't
know about this variable will still be confused. WDYT?

> Why not do this the other way around: trick Eglot to think the home
> directory doesn't exist (as I understand it already knows how to
> handle this)?

I don't understand what you mean: this is entirely constrained to how
certain language servers work, so eglot.el itself can't handle it.

João







This bug report was last modified 2 years and 106 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.