From b2a929a2e69f8191a18f7d3b199c8ce7add720c0 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 7 May 2014 23:58:46 -0700 Subject: [PATCH] test/automated/vc-bzr.el: revise previous change * test/automated/vc-bzr.el (vc-bzr-test-bug9726, vc-bzr-test-bug9781) (vc-bzr-test-faulty-bzr-autoloads): Give bzr a temporary home-directory, in case the real one is missing. Simply disabling logging wasn't enough. --- test/ChangeLog | 3 ++- test/automated/vc-bzr.el | 53 ++++++++++++++++++++++++++-------------- 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/test/ChangeLog b/test/ChangeLog index d19a04ed77d..443479b099e 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,7 +1,8 @@ 2014-05-08 Glenn Morris * automated/vc-bzr.el (vc-bzr-test-bug9726, vc-bzr-test-bug9781) - (vc-bzr-test-faulty-bzr-autoloads): Disable bzr logging. + (vc-bzr-test-faulty-bzr-autoloads): + Give bzr a temporary home-directory, in case the real one is missing. 2014-05-05 Dmitry Gutov diff --git a/test/automated/vc-bzr.el b/test/automated/vc-bzr.el index 5cfa3c2691f..07e821064ca 100644 --- a/test/automated/vc-bzr.el +++ b/test/automated/vc-bzr.el @@ -31,17 +31,26 @@ (ert-deftest vc-bzr-test-bug9726 () "Test for http://debbugs.gnu.org/9726 ." (skip-unless (executable-find vc-bzr-program)) - (let* ((tempdir (make-temp-file "vc-bzr-test" t)) - (ignored-dir (expand-file-name "ignored-dir" tempdir)) - (default-directory (file-name-as-directory tempdir)) - (process-environment (cons (format "BZR_LOG=%s" null-device) + ;; Bzr wants to access HOME, e.g. to write ~/.bzr.log. + ;; This is a problem on hydra, where HOME is non-existent. + ;; You can disable logging with BZR_LOG=/dev/null, but then + ;; some commands (eg `bzr status') want to access ~/.bazaar, + ;; and will abort if they cannot. I could not figure out how to + ;; stop bzr doing that, so just set HOME to a tempir for the duration. + (let* ((homedir (make-temp-file "vc-bzr-test" t)) + (bzrdir (expand-file-name "bzr" homedir)) + (ignored-dir (progn + (make-directory bzrdir) + (expand-file-name "ignored-dir" bzrdir))) + (default-directory (file-name-as-directory bzrdir)) + (process-environment (cons (format "HOME=%s" homedir) process-environment))) (unwind-protect (progn (make-directory ignored-dir) (with-temp-buffer (insert (file-name-nondirectory ignored-dir)) - (write-region nil nil (expand-file-name ".bzrignore" tempdir) + (write-region nil nil (expand-file-name ".bzrignore" bzrdir) nil 'silent)) (call-process vc-bzr-program nil nil nil "init") (call-process vc-bzr-program nil nil nil "add") @@ -57,17 +66,20 @@ (with-current-buffer "*vc-dir*" (goto-char (point-min)) (should (search-forward "unregistered" nil t)))) - (delete-directory tempdir t)))) + (delete-directory homedir t)))) ;; Not specific to bzr. (ert-deftest vc-bzr-test-bug9781 () "Test for http://debbugs.gnu.org/9781 ." (skip-unless (executable-find vc-bzr-program)) - (let* ((tempdir (make-temp-file "vc-bzr-test" t)) - (subdir (expand-file-name "subdir" tempdir)) - (file (expand-file-name "file" tempdir)) - (default-directory (file-name-as-directory tempdir)) - (process-environment (cons (format "BZR_LOG=%s" null-device) + (let* ((homedir (make-temp-file "vc-bzr-test" t)) + (bzrdir (expand-file-name "bzr" homedir)) + (subdir (progn + (make-directory bzrdir) + (expand-file-name "subdir" bzrdir))) + (file (expand-file-name "file" bzrdir)) + (default-directory (file-name-as-directory bzrdir)) + (process-environment (cons (format "HOME=%s" homedir) process-environment))) (unwind-protect (progn @@ -84,7 +96,7 @@ (with-temp-buffer (insert "different text") (write-region nil nil file nil 'silent)) - (vc-dir tempdir) + (vc-dir bzrdir) (while (vc-dir-busy) (sit-for 0.1)) (vc-dir-mark-all-files t) @@ -95,17 +107,20 @@ (vc-next-action nil)) (fset 'y-or-n-p f))) (should (get-buffer "*vc-log*"))) - (delete-directory tempdir t)))) + (delete-directory homedir t)))) ;; http://lists.gnu.org/archive/html/help-gnu-emacs/2012-04/msg00145.html (ert-deftest vc-bzr-test-faulty-bzr-autoloads () "Test we can generate autoloads in a bzr directory when bzr is faulty." (skip-unless (executable-find vc-bzr-program)) - (let* ((tempdir (make-temp-file "vc-bzr-test" t)) - (file (expand-file-name "foo.el" tempdir)) - (default-directory (file-name-as-directory tempdir)) - (generated-autoload-file (expand-file-name "loaddefs.el" tempdir)) - (process-environment (cons (format "BZR_LOG=%s" null-device) + (let* ((homedir (make-temp-file "vc-bzr-test" t)) + (bzrdir (expand-file-name "bzr" homedir)) + (file (progn + (make-directory bzrdir) + (expand-file-name "foo.el" bzrdir))) + (default-directory (file-name-as-directory bzrdir)) + (generated-autoload-file (expand-file-name "loaddefs.el" bzrdir)) + (process-environment (cons (format "HOME=%s" homedir) process-environment))) (unwind-protect (progn @@ -123,6 +138,6 @@ (delete-file ".bzr/checkout/dirstate") (should (progn (update-directory-autoloads default-directory) t))) - (delete-directory tempdir t)))) + (delete-directory homedir t)))) ;;; vc-bzr.el ends here -- 2.39.5