diff options
author | Glenn Morris <rgm@gnu.org> | 2014-05-07 23:58:46 -0700 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2014-05-07 23:58:46 -0700 |
commit | b2a929a2e69f8191a18f7d3b199c8ce7add720c0 (patch) | |
tree | cfd28f14420e1c21d7292b1b484d5d72a85c6f32 | |
parent | 606695a67801acfd1792110e4ea3228b50b0117d (diff) | |
download | emacs-b2a929a2e69f8191a18f7d3b199c8ce7add720c0.tar.gz |
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.
-rw-r--r-- | test/ChangeLog | 3 | ||||
-rw-r--r-- | 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 <rgm@gnu.org> * 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 <dgutov@yandex.ru> 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 |