]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix Flymake's ruby-mode tests when user has "rubocop" installed
authorJoão Távora <joaotavora@gmail.com>
Mon, 21 May 2018 18:23:29 +0000 (19:23 +0100)
committerJoão Távora <joaotavora@gmail.com>
Mon, 21 May 2018 18:23:42 +0000 (19:23 +0100)
The Flymake test suite fails if the "rubocop" program is installed,
because the ruby-flymake-rubocop backend is selected automatically by
ruby-flymake-auto.  The test was designed for ruby-flymake-simple,
tough, and fails.

* test/lisp/progmodes/flymake-tests.el (ruby-backend): Ensure
this test runs exclusively with the ruby-flymake-simple backend.

test/lisp/progmodes/flymake-tests.el

index 5118e30240518bf2b8cc28f6cd44c398f450116e..bba1f12e6915c52ac73cf808b7a578be8528da80 100644 (file)
@@ -118,6 +118,7 @@ SEVERITY-PREDICATE is used to setup
     (flymake-goto-prev-error)
     (should (eq 'flymake-error (face-at-point)))))
 
+(defvar ruby-mode-hook)
 (ert-deftest ruby-backend ()
   "Test the ruby backend"
   (skip-unless (executable-find "ruby"))
@@ -129,11 +130,14 @@ SEVERITY-PREDICATE is used to setup
          ;; for this particular yuckiness
          (abbreviated-home-dir nil))
     (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))))
+        (let ((ruby-mode-hook
+               (lambda ()
+                 (setq flymake-diagnostic-functions '(ruby-flymake-simple)))))
+          (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 ()