From: Stefan Kangas Date: Sun, 2 Mar 2025 12:26:43 +0000 (+0100) Subject: Fix a vc test for Breezy by setting $HOME X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2cb1bcde82c1819fdf8ac0a232aba47f26e0e2ea;p=emacs.git Fix a vc test for Breezy by setting $HOME * test/lisp/vc/vc-tests.el (vc--fix-home-for-bzr): New macro. (vc-test--create-repo, vc-test--register, vc-test--working-revision) (vc-test--checkout-model, vc-test--rename-file) (vc-test--version-diff): Fix test for Breezy by setting HOME to a temporary directory. (Bug#70195) (cherry picked from commit e4d8095c3dccc4f37be54b083d8b511fac0142b3) --- diff --git a/test/lisp/vc/vc-tests.el b/test/lisp/vc/vc-tests.el index 62938c41227..49a6f2c38f5 100644 --- a/test/lisp/vc/vc-tests.el +++ b/test/lisp/vc/vc-tests.el @@ -177,6 +177,12 @@ For backends which don't support it, it is emulated." (t (vc-create-repo backend)))) +(defmacro vc--fix-home-for-bzr (tempdir) + ;; See the comment in `vc-bzr-test-bug9726'. + '(when (eq backend 'Bzr) + (push (format "BZR_HOME=%s" tempdir) process-environment) + (push (format "HOME=%s" tempdir) process-environment))) + (defun vc-test--create-repo (backend) "Create a test repository in `default-directory', a temporary directory." (ert-with-temp-directory tempdir @@ -187,10 +193,7 @@ For backends which don't support it, it is emulated." (make-temp-name "vc-test") temporary-file-directory))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) - + (vc--fix-home-for-bzr tempdir) (unwind-protect (progn ;; Cleanup. @@ -242,9 +245,7 @@ This checks also `vc-backend' and `vc-responsible-backend'." (make-temp-name "vc-test") temporary-file-directory))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) + (vc--fix-home-for-bzr tempdir) (unwind-protect (progn ;; Cleanup. @@ -323,9 +324,7 @@ This checks also `vc-backend' and `vc-responsible-backend'." (make-temp-name "vc-test") temporary-file-directory))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) + (vc--fix-home-for-bzr tempdir) (unwind-protect (progn ;; Cleanup. @@ -388,10 +387,7 @@ This checks also `vc-backend' and `vc-responsible-backend'." (make-temp-name "vc-test") temporary-file-directory))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) - + (vc--fix-home-for-bzr tempdir) (unwind-protect (progn ;; Cleanup. @@ -466,10 +462,7 @@ This checks also `vc-backend' and `vc-responsible-backend'." (make-temp-name "vc-test") temporary-file-directory))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) - + (vc--fix-home-for-bzr tempdir) (unwind-protect (progn ;; Cleanup. @@ -549,10 +542,7 @@ This checks also `vc-backend' and `vc-responsible-backend'." (make-temp-name "vc-test") temporary-file-directory))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) - + (vc--fix-home-for-bzr tempdir) (unwind-protect (progn ;; Cleanup. @@ -601,9 +591,7 @@ This checks also `vc-backend' and `vc-responsible-backend'." (make-temp-name "vc-test") temporary-file-directory)))) (process-environment process-environment) vc-test--cleanup-hook) - (when (eq backend 'Bzr) - (setq process-environment (cons (format "BZR_HOME=%s" tempdir) - process-environment))) + (vc--fix-home-for-bzr tempdir) ;; git tries various approaches to guess a user name and email, ;; which can fail depending on how the system is configured. ;; Eg if the user account has no GECOS, git commit can fail with