Don't fail flymake-tests if gcc actually is Clang

* test/lisp/progmodes/flymake-tests.el (flymake-tests--gcc-is-clang)
(different-diagnostic-types, included-c-header-files): Skip tests that
depend on the `gcc` command really being GCC and not Clang.
This commit is contained in:
Mattias Engdegård 2022-01-02 13:00:13 +01:00
parent be6b9e4580
commit b2167d9843

View file

@ -140,9 +140,15 @@ SEVERITY-PREDICATE is used to setup
(flymake-goto-next-error)
(should (eq 'flymake-error (face-at-point)))))))
(defun flymake-tests--gcc-is-clang ()
"Whether the `gcc' command actually runs the Clang compiler."
(string-match "[Cc]lang version "
(shell-command-to-string "gcc --version")))
(ert-deftest different-diagnostic-types ()
"Test GCC warning via function predicate."
(skip-unless (and (executable-find "gcc")
(not (flymake-tests--gcc-is-clang))
(version<=
"5" (string-trim
(shell-command-to-string "gcc -dumpversion")))
@ -166,7 +172,9 @@ SEVERITY-PREDICATE is used to setup
(ert-deftest included-c-header-files ()
"Test inclusion of .h header files."
(skip-unless (and (executable-find "gcc") (executable-find "make")))
(skip-unless (and (executable-find "gcc")
(not (flymake-tests--gcc-is-clang))
(executable-find "make")))
(let ((flymake-wrap-around nil))
(flymake-tests--with-flymake
("some-problems.h")