Flymake: unbreak tests
Flymake's normal behaviour implies catching the errors of misbehaving backends. This behavior is tested by Flymake's automated tests, built on top of ERT, which means that debug-on-error is always t in the bodies of said tests (I don't know the rationale for this, but it's been like this for some time) Flymake used to shun usage of 'condition-case-unless-debug' because of this. But since that macro is pretty useful, I started using it again, and as a consequence, tests started breaking. The solution is to: 1. stop requiring the deprecated legacy backend 'flymake-proc' (which by design, always errors, except in rare circumstances). 2. deliberately set debug-on-error to nil around the "dummy backends"" test. * lisp/progmodes/flymake.el (flymake-proc): Don't require it by default. * test/lisp/progmodes/flymake-tests.el: (dummy-backends): Make robust to ert's debug-on-error setting.
This commit is contained in:
parent
9b933a6033
commit
81c6569e65
2 changed files with 2 additions and 3 deletions
|
@ -1977,6 +1977,4 @@ some of this variable's contents the diagnostic listings.")
|
|||
|
||||
(provide 'flymake)
|
||||
|
||||
(require 'flymake-proc)
|
||||
|
||||
;;; flymake.el ends here
|
||||
|
|
|
@ -213,6 +213,7 @@ SEVERITY-PREDICATE is used to setup
|
|||
|
||||
(ert-deftest dummy-backends ()
|
||||
"Test many different kinds of backends."
|
||||
(let ((debug-on-error nil))
|
||||
(with-temp-buffer
|
||||
(cl-letf
|
||||
(((symbol-function 'error-backend)
|
||||
|
@ -291,7 +292,7 @@ SEVERITY-PREDICATE is used to setup
|
|||
(should (eq 'flymake-warning (face-at-point))) ; dolor
|
||||
(flymake-goto-next-error)
|
||||
(should (eq 'flymake-error (face-at-point))) ; prognata
|
||||
(should-error (flymake-goto-next-error nil nil t))))))
|
||||
(should-error (flymake-goto-next-error nil nil t)))))))
|
||||
|
||||
(ert-deftest recurrent-backend ()
|
||||
"Test a backend that calls REPORT-FN multiple times."
|
||||
|
|
Loading…
Add table
Reference in a new issue