mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-22 18:35:09 +00:00
Extend flymake's warning predicate to be a function. Test suite for flymake.
* lisp/progmodes/flymake.el (flymake-warning-predicate): New. (flymake-parse-line): Use it. (flymake-warning-re): Make obsolete alias to `flymake-warning-predicate'. * doc/misc/flymake.texi (Parsing the output, Customizable variables): Add reference to `flymake-warning-predicate'. * test/automated/flymake-tests.el: * test/automated/flymake/warnpred/Makefile * test/automated/flymake/warnpred/test.c * test/automated/flymake/warnpred/test.pl: New files. Fixes: debbugs:14217
This commit is contained in:
parent
a7d2d4654e
commit
c5b0993e5f
@ -1,3 +1,8 @@
|
||||
2013-06-21 Eduard Wiebe <usenet@pusto.de>
|
||||
|
||||
* flymake.texi (Parsing the output, Customizable variables):
|
||||
Add reference to `flymake-warning-predicate'.
|
||||
|
||||
2013-06-19 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Top, Configuration): Insert section `Predefined
|
||||
@ -101,8 +106,8 @@
|
||||
|
||||
2013-03-08 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
|
||||
* calc.texi (Basic Operations on Units): Fix
|
||||
cross-reference.
|
||||
* calc.texi (Basic Operations on Units):
|
||||
Fix cross-reference.
|
||||
|
||||
2013-03-07 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
@ -140,8 +145,8 @@
|
||||
|
||||
* tramp.texi (Inline methods): Remove "ssh1", "ssh2", "plink1"
|
||||
and "plink2" entries. "plink2" is obsolete for a long time.
|
||||
(External methods): Remove "scp1" and "scp2" entries. Explain
|
||||
user name and host name specification for "adb".
|
||||
(External methods): Remove "scp1" and "scp2" entries.
|
||||
Explain user name and host name specification for "adb".
|
||||
|
||||
2013-02-28 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
@ -221,8 +226,8 @@
|
||||
from ede new.
|
||||
(Simple projects): Re-write to not talk about ede-simple-project
|
||||
which is deprecated, and instead use the term to mean projects
|
||||
that don't do much management, just project wrapping. Add
|
||||
ede-generic-project link.
|
||||
that don't do much management, just project wrapping.
|
||||
Add ede-generic-project link.
|
||||
(ede-generic-project): New node (bug#11441).
|
||||
|
||||
2013-02-07 Glenn Morris <rgm@gnu.org>
|
||||
@ -361,8 +366,8 @@
|
||||
|
||||
2012-12-24 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Browse Foreign Server): Document
|
||||
`gnus-browse-delete-group'.
|
||||
* gnus.texi (Browse Foreign Server):
|
||||
Document `gnus-browse-delete-group'.
|
||||
|
||||
2012-12-22 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
@ -599,8 +604,8 @@
|
||||
Improve docs for url-queue-*.
|
||||
(Supported URL Types): Copyedits. Delete empty subnodes.
|
||||
|
||||
* url.texi (Introduction): Rename from Getting Started. Rewrite
|
||||
the introduction.
|
||||
* url.texi (Introduction): Rename from Getting Started.
|
||||
Rewrite the introduction.
|
||||
(URI Parsing): Rewrite. Omit the obsolete attributes slot.
|
||||
|
||||
2012-11-10 Glenn Morris <rgm@gnu.org>
|
||||
@ -700,14 +705,14 @@
|
||||
|
||||
2012-10-26 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org.texi (Installation): Update the link to Org's ELPA. Also
|
||||
don't mention org-install.el anymore as the replacement file
|
||||
* org.texi (Installation): Update the link to Org's ELPA.
|
||||
Also don't mention org-install.el anymore as the replacement file
|
||||
org-loaddefs.el is now loaded by org.el.
|
||||
|
||||
2012-10-25 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Frequently Asked Questions): Mention
|
||||
`tramp-completion-reread-directory-timeout' for performance
|
||||
* tramp.texi (Frequently Asked Questions):
|
||||
Mention `tramp-completion-reread-directory-timeout' for performance
|
||||
improvement.
|
||||
|
||||
2012-10-25 Glenn Morris <rgm@gnu.org>
|
||||
@ -830,8 +835,8 @@
|
||||
(Referencing Labels): Update regarding reference styles.
|
||||
(Citation Styles): Mention support for ConTeXt.
|
||||
(Options (Defining Label Environments)): Fix typo.
|
||||
(Options (Creating Citations)): Document
|
||||
`reftex-cite-key-separator'.
|
||||
(Options (Creating Citations)):
|
||||
Document `reftex-cite-key-separator'.
|
||||
|
||||
2012-09-30 Achim Gratz <Stromeko@Stromeko.DE>
|
||||
|
||||
@ -863,8 +868,8 @@
|
||||
|
||||
2012-09-30 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org.texi (Installation, Feedback, Batch execution): Use
|
||||
(add-to-list 'load-path ... t) for the contrib dir.
|
||||
* org.texi (Installation, Feedback, Batch execution):
|
||||
Use (add-to-list 'load-path ... t) for the contrib dir.
|
||||
|
||||
* org.texi (results): Update documentation for ":results drawer"
|
||||
and ":results org".
|
||||
@ -891,8 +896,8 @@
|
||||
(Agenda commands): Reorder. Document `*' to toggle persistent
|
||||
marks.
|
||||
|
||||
* org.texi (Agenda dispatcher): Mention
|
||||
`org-toggle-agenda-sticky'.
|
||||
* org.texi (Agenda dispatcher):
|
||||
Mention `org-toggle-agenda-sticky'.
|
||||
(Agenda commands, Exporting Agenda Views): Fix typo.
|
||||
|
||||
* org.texi (Templates in contexts, Setting Options): Update to
|
||||
@ -1067,8 +1072,8 @@
|
||||
(Unsafe Simplifications): Mention `m E'.
|
||||
(Simplification of Units): Mention `m U'.
|
||||
(Trigonometric/Hyperbolic Functions, Reducing and Mapping)
|
||||
(Kinds of Declarations, Functions for Declarations): Mention
|
||||
"algebraic simplifications" instead of `a s'.
|
||||
(Kinds of Declarations, Functions for Declarations):
|
||||
Mention "algebraic simplifications" instead of `a s'.
|
||||
(Algebraic Entry): Remove mention of default simplifications.
|
||||
|
||||
2012-07-30 Jay Belanger <jay.p.belanger@gmail.com>
|
||||
@ -1100,8 +1105,8 @@
|
||||
|
||||
2012-07-06 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Multi-hops): Introduce
|
||||
`tramp-restricted-shell-hosts-alist'.
|
||||
* tramp.texi (Multi-hops):
|
||||
Introduce `tramp-restricted-shell-hosts-alist'.
|
||||
|
||||
2012-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
@ -1293,8 +1298,8 @@
|
||||
(Synchronous Methods): Remove obsolete dbus-call-method-non-blocking.
|
||||
(Asynchronous Methods): Fix description of
|
||||
dbus-call-method-asynchronously.
|
||||
(Receiving Method Calls): Fix some minor errors. Add
|
||||
dbus-interface-emacs.
|
||||
(Receiving Method Calls): Fix some minor errors.
|
||||
Add dbus-interface-emacs.
|
||||
(Signals): Describe unicast signals and the new match rules.
|
||||
(Alternative Buses): Add the PRIVATE optional argument to
|
||||
dbus-init-bus. Describe its new return value. Add dbus-setenv.
|
||||
@ -1327,8 +1332,8 @@
|
||||
|
||||
2012-04-09 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add
|
||||
emacs-gnutls.
|
||||
* makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean):
|
||||
Add emacs-gnutls.
|
||||
($(infodir)/emacs-gnutls, emacs-gnutls.dvi): New targets.
|
||||
|
||||
2012-04-09 Teodor Zlatanov <tzz@lifelogs.com>
|
||||
@ -1431,7 +1436,7 @@
|
||||
|
||||
2012-04-01 Eric Schulte <eric.schulte@gmx.com>
|
||||
|
||||
* org.texi (Key bindings and useful functions): Updated babel key
|
||||
* org.texi (Key bindings and useful functions): Update babel key
|
||||
binding documentation in manual.
|
||||
|
||||
2012-04-01 Eric Schulte <eric.schulte@gmx.com>
|
||||
@ -1532,8 +1537,8 @@
|
||||
|
||||
2012-02-13 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Customizing the IMAP Connection): Mention
|
||||
nnimap-record-commands.
|
||||
* gnus.texi (Customizing the IMAP Connection):
|
||||
Mention nnimap-record-commands.
|
||||
|
||||
2012-02-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
@ -1604,8 +1609,8 @@
|
||||
|
||||
2012-01-03 Bernt Hansen <bernt@norang.ca>
|
||||
|
||||
* org.texi (Agenda commands): Document
|
||||
`org-clock-report-include-clocking-task'.
|
||||
* org.texi (Agenda commands):
|
||||
Document `org-clock-report-include-clocking-task'.
|
||||
|
||||
2012-01-03 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
@ -1690,8 +1695,8 @@
|
||||
|
||||
2012-01-03 Eric Schulte <schulte.eric@gmail.com>
|
||||
|
||||
* org.texi (Buffer-wide header arguments): Update
|
||||
documentation to reflect removal of #+PROPERTIES.
|
||||
* org.texi (Buffer-wide header arguments):
|
||||
Update documentation to reflect removal of #+PROPERTIES.
|
||||
|
||||
2012-01-03 Carsten Dominik <carsten.dominik@gmail.com>
|
||||
|
||||
@ -1852,7 +1857,7 @@
|
||||
|
||||
* mh-e.texi (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for
|
||||
release 8.3.
|
||||
(Preface): Updated support information.
|
||||
(Preface): Update support information.
|
||||
(From Bill Wohler): Reset text to original version. As a
|
||||
historical quote, the tense should be correct in the time that it
|
||||
was written.
|
||||
@ -2054,8 +2059,8 @@
|
||||
|
||||
2011-08-15 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* org.texi (Dynamic blocks, Structure editing): Mention
|
||||
the function `org-narrow-to-block'.
|
||||
* org.texi (Dynamic blocks, Structure editing):
|
||||
Mention the function `org-narrow-to-block'.
|
||||
|
||||
2011-08-15 Eric Schulte <schulte.eric@gmail.com>
|
||||
|
||||
@ -2082,15 +2087,15 @@
|
||||
|
||||
2011-08-15 Eric Schulte <schulte.eric@gmail.com>
|
||||
|
||||
* org.texi (Conflicts): Changed "yasnippets" to "yasnippet" and
|
||||
* org.texi (Conflicts): Change "yasnippets" to "yasnippet" and
|
||||
added extra whitespace around functions to be consistent with the
|
||||
rest of the section.
|
||||
|
||||
2011-08-15 Eric Schulte <schulte.eric@gmail.com>
|
||||
|
||||
* org.texi (Evaluating code blocks): Expanded discussion of
|
||||
* org.texi (Evaluating code blocks): Expand discussion of
|
||||
#+call: line syntax.
|
||||
(Header arguments in function calls): Expanded discussion of
|
||||
(Header arguments in function calls): Expand discussion of
|
||||
#+call: line syntax.
|
||||
|
||||
2011-08-15 Eric Schulte <schulte.eric@gmail.com>
|
||||
@ -2120,12 +2125,12 @@
|
||||
|
||||
2011-08-15 Tom Dye <tsd@tsdye.com>
|
||||
|
||||
* org.texi (cache): Improved documentation of code block caches.
|
||||
* org.texi (cache): Improve documentation of code block caches.
|
||||
|
||||
2011-08-15 Tom Dye <tsd@tsdye.com>
|
||||
|
||||
* org.texi (Code block specific header arguments): Documentation
|
||||
of multi-line header arguments.
|
||||
* org.texi (Code block specific header arguments):
|
||||
Documentation of multi-line header arguments.
|
||||
|
||||
2011-08-15 Eric Schulte <schulte.eric@gmail.com>
|
||||
|
||||
@ -2181,15 +2186,15 @@
|
||||
|
||||
2011-07-04 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Cleanup remote connections): Add
|
||||
`tramp-cleanup-this-connection'.
|
||||
* tramp.texi (Cleanup remote connections):
|
||||
Add `tramp-cleanup-this-connection'.
|
||||
|
||||
2011-07-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Subscription Methods): Link to "Group Levels" to explain
|
||||
zombies.
|
||||
(Checking New Groups): Ditto (bug#8974).
|
||||
(Checking New Groups): Moved the reference to the right place.
|
||||
(Checking New Groups): Move the reference to the right place.
|
||||
|
||||
2011-07-03 Dave Abrahams <dave@boostpro.com> (tiny change)
|
||||
|
||||
@ -2216,8 +2221,8 @@
|
||||
|
||||
2011-06-26 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Summary Mail Commands): Document
|
||||
`gnus-summary-reply-to-list-with-original'.
|
||||
* gnus.texi (Summary Mail Commands):
|
||||
Document `gnus-summary-reply-to-list-with-original'.
|
||||
|
||||
2011-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
@ -2280,7 +2285,7 @@
|
||||
|
||||
* gnus.texi (nnmairix caveats, Setup, Registry Article Refer Method)
|
||||
(Fancy splitting to parent, Store arbitrary data):
|
||||
Updated gnus-registry docs.
|
||||
Update gnus-registry docs.
|
||||
|
||||
2011-04-13 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
@ -3401,8 +3406,8 @@
|
||||
|
||||
Sync with Tramp 2.1.19.
|
||||
|
||||
* tramp.texi (Inline methods, Default Method): Mention
|
||||
`tramp-inline-compress-start-size'. Remove "kludgy" phrase.
|
||||
* tramp.texi (Inline methods, Default Method):
|
||||
Mention `tramp-inline-compress-start-size'. Remove "kludgy" phrase.
|
||||
Remove remark about doubled "-t" argument.
|
||||
(Auto-save and Backup): Remove reference to Emacs 21.
|
||||
(Filename Syntax): Describe port numbers.
|
||||
@ -6056,7 +6061,7 @@
|
||||
2007-10-28 Kevin Greiner <kevin.greiner@compsol.cc>
|
||||
|
||||
* gnus.texi (nntp-open-via-telnet-and-telnet): Fix grammar.
|
||||
(Agent Parameters): Updated parameter names to match code.
|
||||
(Agent Parameters): Update parameter names to match code.
|
||||
(Group Agent Commands): Corrected 'gnus-agent-fetch-series' as
|
||||
'gnus-agent-summary-fetch-series'.
|
||||
(Agent and flags): New section providing a generalized discussion
|
||||
@ -6860,7 +6865,7 @@
|
||||
(Tag searches): Document regular expression search for tags.
|
||||
(Stuck projects): New section.
|
||||
(In-buffer settings): New keywords.
|
||||
(History and Acknowledgments): Updated description.
|
||||
(History and Acknowledgments): Update description.
|
||||
|
||||
2007-02-24 Alan Mackenzie <acm@muc.de>
|
||||
|
||||
@ -7092,7 +7097,7 @@
|
||||
(Custom agenda views): Section completely rewritten.
|
||||
(Summary): Compare with Planner.
|
||||
(Feedback): More info about creating backtraces.
|
||||
(Plain lists): Modified example.
|
||||
(Plain lists): Modify example.
|
||||
(Breaking down tasks): New section.
|
||||
(Custom time format): New section.
|
||||
(Time stamps): Document inactive timestamps.
|
||||
|
@ -311,6 +311,9 @@ Used when looking for a master file. @xref{Locating a master file}.
|
||||
Patterns for error/warning messages in the form @code{(regexp file-idx
|
||||
line-idx col-idx err-text-idx)}. @xref{Parsing the output}.
|
||||
|
||||
@item flymake-warning-predicate
|
||||
Predicate to classify error text as warning. @xref{Parsing the output}.
|
||||
|
||||
@item flymake-compilation-prevents-syntax-check
|
||||
A flag indicating whether compilation and syntax check of the same
|
||||
file cannot be run simultaneously.
|
||||
|
@ -1,3 +1,11 @@
|
||||
2013-06-21 Eduard Wiebe <usenet@pusto.de>
|
||||
|
||||
Extend flymake's warning predicate to be a function (bug#14217).
|
||||
* progmodes/flymake.el (flymake-warning-predicate): New.
|
||||
(flymake-parse-line): Use it.
|
||||
(flymake-warning-re): Make obsolete alias to
|
||||
`flymake-warning-predicate'.
|
||||
|
||||
2013-06-21 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/package.el (package-alist): Include obsolete packages.
|
||||
|
@ -1049,8 +1049,12 @@ from compile.el")
|
||||
;; :type '(repeat (string number number number))
|
||||
;;)
|
||||
|
||||
(defvar flymake-warning-re "^[wW]arning"
|
||||
"Regexp matching against err-text to detect a warning.")
|
||||
(define-obsolete-variable-alias 'flymake-warning-re 'flymake-warning-predicate "24.4")
|
||||
(defvar flymake-warning-predicate "^[wW]arning"
|
||||
"Predicate matching against error text to detect a warning.
|
||||
Takes a single argument, the error's text and should return non-nil
|
||||
if it's a warning.
|
||||
Instead of a function, it can also be a regular expression.")
|
||||
|
||||
(defun flymake-parse-line (line)
|
||||
"Parse LINE to see if it is an error or warning.
|
||||
@ -1067,16 +1071,22 @@ Return its components if so, nil otherwise."
|
||||
(line-idx (nth 2 (car patterns))))
|
||||
|
||||
(setq raw-file-name (if file-idx (match-string file-idx line) nil))
|
||||
(setq line-no (if line-idx (string-to-number (match-string line-idx line)) 0))
|
||||
(setq line-no (if line-idx (string-to-number
|
||||
(match-string line-idx line)) 0))
|
||||
(setq err-text (if (> (length (car patterns)) 4)
|
||||
(match-string (nth 4 (car patterns)) line)
|
||||
(flymake-patch-err-text (substring line (match-end 0)))))
|
||||
(or err-text (setq err-text "<no error text>"))
|
||||
(if (and err-text (string-match flymake-warning-re err-text))
|
||||
(setq err-type "w")
|
||||
)
|
||||
(flymake-log 3 "parse line: file-idx=%s line-idx=%s file=%s line=%s text=%s" file-idx line-idx
|
||||
raw-file-name line-no err-text)
|
||||
(flymake-patch-err-text
|
||||
(substring line (match-end 0)))))
|
||||
(if (null err-text)
|
||||
(setq err-text "<no error text>")
|
||||
(when (cond ((stringp flymake-warning-predicate)
|
||||
(string-match flymake-warning-predicate err-text))
|
||||
((functionp flymake-warning-predicate)
|
||||
(funcall flymake-warning-predicate err-text)))
|
||||
(setq err-type "w")))
|
||||
(flymake-log
|
||||
3 "parse line: file-idx=%s line-idx=%s file=%s line=%s text=%s"
|
||||
file-idx line-idx raw-file-name line-no err-text)
|
||||
(setq matched t)))
|
||||
(setq patterns (cdr patterns)))
|
||||
(if matched
|
||||
|
@ -1,3 +1,11 @@
|
||||
2013-06-21 Eduard Wiebe <usenet@pusto.de>
|
||||
|
||||
Test suite for flymake.
|
||||
* automated/flymake-tests.el:
|
||||
* automated/flymake/warnpred/Makefile
|
||||
* automated/flymake/warnpred/test.c
|
||||
* automated/flymake/warnpred/test.pl: New files.
|
||||
|
||||
2013-06-12 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||||
|
||||
* automated/reftex-tests.el (reftex-parse-from-file-test): Fix test.
|
||||
|
82
test/automated/flymake-tests.el
Normal file
82
test/automated/flymake-tests.el
Normal file
@ -0,0 +1,82 @@
|
||||
;;; flymake-tests.el --- Test suite for flymake
|
||||
|
||||
;; Copyright (C) 2011-2013 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Eduard Wiebe <usenet@pusto.de>
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; GNU Emacs is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;;; Code:
|
||||
(require 'ert)
|
||||
(require 'flymake)
|
||||
|
||||
(defgroup flymake-tests nil
|
||||
"Test suite for flymake.")
|
||||
|
||||
|
||||
;; Warning predicate
|
||||
(defun flymake-tests--current-face (file predicate)
|
||||
(let ((buffer (find-file-noselect file)))
|
||||
(unwind-protect
|
||||
(with-current-buffer (find-file-noselect file)
|
||||
(setq-local flymake-warning-predicate predicate)
|
||||
(goto-char (point-min))
|
||||
(flymake-mode 1)
|
||||
;; XXX: is this reliable enough?
|
||||
(sleep-for (+ 0.5 flymake-no-changes-timeout))
|
||||
(flymake-goto-next-error)
|
||||
(face-at-point))
|
||||
(and buffer (kill-buffer buffer)))))
|
||||
|
||||
(ert-deftest warnining-predicate-rx-gcc ()
|
||||
"Test GCC warning via regexp predicate."
|
||||
:expected-result (if (executable-find "gcc") :passed :failed)
|
||||
(should (eq 'flymake-warnline
|
||||
(flymake-tests--current-face
|
||||
"flymake/warnpred/test.c"
|
||||
"^[Ww]arning"))))
|
||||
|
||||
(ert-deftest warning-predicate-function-gcc ()
|
||||
"Test GCC warning via function predicate."
|
||||
:expected-result (if (and (executable-find "gcc") (executable-find "make"))
|
||||
:passed
|
||||
:failed)
|
||||
(should (eq 'flymake-warnline
|
||||
(flymake-tests--current-face
|
||||
"flymake/warnpred/test.c"
|
||||
(lambda (msg) (string-match "^[Ww]arning" msg))))))
|
||||
|
||||
(ert-deftest warning-predicate-rx-perl ()
|
||||
"Test perl warning via regular expression predicate."
|
||||
:expected-result (if (executable-find "perl") :passed :failed)
|
||||
(should (eq 'flymake-warnline
|
||||
(flymake-tests--current-face
|
||||
"flymake/warnpred/test.pl"
|
||||
"^Scalar value"))))
|
||||
|
||||
(ert-deftest warning-predicate-function-perl ()
|
||||
"Test perl warning via function predicate."
|
||||
:expected-result (if (executable-find "perl") :passed :failed)
|
||||
(should (eq 'flymake-warnline
|
||||
(flymake-tests--current-face
|
||||
"flymake/warnpred/test.pl"
|
||||
(lambda (msg) (string-match "^Scalar value" msg))))))
|
||||
|
||||
(provide 'flymake-tests)
|
||||
|
||||
;;; flymake.el ends here
|
8
test/automated/flymake/warnpred/Makefile
Normal file
8
test/automated/flymake/warnpred/Makefile
Normal file
@ -0,0 +1,8 @@
|
||||
# Makefile for flymake tests
|
||||
|
||||
CC_OPTS = -Wall
|
||||
|
||||
check-syntax:
|
||||
$(CC) $(CC_OPTS) ${CHK_SOURCES}
|
||||
|
||||
# eof
|
5
test/automated/flymake/warnpred/test.c
Normal file
5
test/automated/flymake/warnpred/test.c
Normal file
@ -0,0 +1,5 @@
|
||||
int main()
|
||||
{
|
||||
char c = 1000;
|
||||
return c;
|
||||
}
|
2
test/automated/flymake/warnpred/test.pl
Normal file
2
test/automated/flymake/warnpred/test.pl
Normal file
@ -0,0 +1,2 @@
|
||||
@arr = [1,2,3,4];
|
||||
@arr[1] = -1;
|
Loading…
Reference in New Issue
Block a user