]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't fail flymake-tests if `gcc` actually is Clang
authorMattias EngdegÄrd <mattiase@acm.org>
Sun, 2 Jan 2022 12:00:13 +0000 (13:00 +0100)
committerRobert Pluim <rpluim@gmail.com>
Wed, 12 Jan 2022 08:08:33 +0000 (09:08 +0100)
* 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.

(cherry picked from commit b2167d98432a78442522b7564e22f47d75a98b6f)

test/lisp/progmodes/flymake-tests.el

index 2eb4004f10d24909602c84ec9e98e82d66b9bb46..45cabf2efba34ae27e589d18a342c570d0d5a4e4 100644 (file)
@@ -140,9 +140,15 @@ SEVERITY-PREDICATE is used to setup
             (should (eq 'flymake-error (face-at-point)))))
       (delete-directory tempdir t))))
 
+(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")