(debug (sexp &rest form)))
`(flymake-tests--call-with-fixture (lambda () ,@body) ,file ,@args))
-(ert-deftest warning-predicate-rx-gcc ()
- "Test GCC warning via regexp predicate."
- (skip-unless (and (executable-find "gcc") (executable-find "make")))
- (flymake-tests--with-flymake
- ("test.c" :severity-predicate "^[Ww]arning")
- (flymake-goto-next-error)
- (should (eq 'flymake-warning
- (face-at-point)))))
-
-(ert-deftest warning-predicate-function-gcc ()
- "Test GCC warning via function predicate."
- (skip-unless (and (executable-find "gcc") (executable-find "make")))
- (flymake-tests--with-flymake
- ("test.c" :severity-predicate
- (lambda (msg) (string-match "^[Ww]arning" msg)))
- (flymake-goto-next-error)
- (should (eq 'flymake-warning
- (face-at-point)))))
-
(ert-deftest perl-backend ()
"Test the perl backend."
(skip-unless (executable-find "perl"))
(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"))
(flymake-goto-next-error)
(should (eq 'flymake-error (face-at-point)))))))
-(ert-deftest different-diagnostic-types ()
- "Test GCC warning via function predicate."
- (skip-unless (and (executable-find "gcc")
- (not (ert-gcc-is-clang-p))
- (version<=
- "5" (string-trim
- (shell-command-to-string "gcc -dumpversion")))
- (executable-find "make")))
- (let ((flymake-wrap-around nil))
- (flymake-tests--with-flymake
- ("errors-and-warnings.c")
- (flymake-goto-next-error)
- (should (eq 'flymake-error (face-at-point)))
- (flymake-goto-next-error)
- (should (eq 'flymake-note (face-at-point)))
- (flymake-goto-next-error)
- (should (eq 'flymake-warning (face-at-point)))
- (flymake-goto-next-error)
- (should (eq 'flymake-error (face-at-point)))
- (flymake-goto-next-error)
- (should (eq 'flymake-warning (face-at-point)))
- (flymake-goto-next-error)
- (should (eq 'flymake-warning (face-at-point)))
- (should-error (flymake-goto-next-error nil nil t)))))
-
-(ert-deftest included-c-header-files ()
- "Test inclusion of .h header files."
- (skip-unless (and (executable-find "gcc")
- (not (ert-gcc-is-clang-p))
- (executable-find "make")))
- (let ((flymake-wrap-around nil))
- (flymake-tests--with-flymake
- ("some-problems.h")
- (flymake-goto-next-error)
- ;; implicit-int was promoted from warning to error in GCC 14
- (should (memq (face-at-point) '(flymake-warning flymake-error)))
- (flymake-goto-next-error)
- (should (eq 'flymake-error (face-at-point)))
- (should-error (flymake-goto-next-error nil nil t)))
- (flymake-tests--with-flymake
- ("no-problems.h")
- (should-error (flymake-goto-next-error nil nil t)))))
-
(defmacro flymake-tests--assert-set (set
should
should-not)