The main problem is that: 0. test/Makefile.in sets HOME=/nonexistent 1. lisp/emacs-lisp/ert-x.el sets HOME=/tmp :( 2. eglot--call-with-fixture tries to detect when HOME is nonexistent, but /tmp exists, so that's left unchanged 3. The Rust tools look under HOME=/tmp for which toolchain to use, but the answer is under ~USER, so they give up The following patch temporarily sets HOME=~USER in only those tests that need it. The patch consolidates some let-bindings into a single form to minimise collateral indentation changes. It also bumps the rust-analyzer client/registerCapability timeout from 1 second to 3, because sometimes 1 second was too short a wait. Finally, it updates the expected autopep8 reformatting results to what I see locally, and skips a test that fails without YASnippet.