summaryrefslogtreecommitdiff
path: root/test/lisp/progmodes
diff options
context:
space:
mode:
authorJoão Távora <joaotavora@gmail.com>2017-11-09 09:34:58 +0000
committerJoão Távora <joaotavora@gmail.com>2017-11-09 09:38:11 +0000
commit0da08f2f8ef1946978f0974e9e8cdb87fece018c (patch)
treec432b0eb028cdf82edca238e6ad5264bb649fc8a /test/lisp/progmodes
parent781f276cc12a204ec7db9ffd30d22a9a18c0fe94 (diff)
downloademacs-0da08f2f8ef1946978f0974e9e8cdb87fece018c.tar.gz
Protect Flymake tests against older Ruby and Perl (bug#29187)
* test/lisp/progmodes/flymake-tests.el (perl-backend): Search for the error from the bottom. (ruby-backend): Protect against situation of bug#29187
Diffstat (limited to 'test/lisp/progmodes')
-rw-r--r--test/lisp/progmodes/flymake-tests.el19
1 files changed, 13 insertions, 6 deletions
diff --git a/test/lisp/progmodes/flymake-tests.el b/test/lisp/progmodes/flymake-tests.el
index c60f9100345..05214e7a927 100644
--- a/test/lisp/progmodes/flymake-tests.el
+++ b/test/lisp/progmodes/flymake-tests.el
@@ -114,17 +114,24 @@ SEVERITY-PREDICATE is used to setup
(flymake-tests--with-flymake ("test.pl")
(flymake-goto-next-error)
(should (eq 'flymake-warning (face-at-point)))
- (flymake-goto-next-error)
+ (goto-char (point-max))
+ (flymake-goto-prev-error)
(should (eq 'flymake-error (face-at-point)))))
(ert-deftest ruby-backend ()
"Test the ruby backend"
(skip-unless (executable-find "ruby"))
- (flymake-tests--with-flymake ("test.rb")
- (flymake-goto-next-error)
- (should (eq 'flymake-warning (face-at-point)))
- (flymake-goto-next-error)
- (should (eq 'flymake-error (face-at-point)))))
+ ;; Some versions of ruby fail if HOME doesn't exist (bug#29187).
+ (let* ((tempdir (make-temp-file "flymake-tests-ruby" t))
+ (process-environment (cons (format "HOME=%s" tempdir)
+ process-environment)))
+ (unwind-protect
+ (flymake-tests--with-flymake ("test.rb")
+ (flymake-goto-next-error)
+ (should (eq 'flymake-warning (face-at-point)))
+ (flymake-goto-next-error)
+ (should (eq 'flymake-error (face-at-point))))
+ (delete-directory tempdir t))))
(ert-deftest different-diagnostic-types ()
"Test GCC warning via function predicate."