emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 9490f12: Test for byte-compiler warning "variable lacks prefix"


From: Stefan Kangas
Subject: master 9490f12: Test for byte-compiler warning "variable lacks prefix"
Date: Sun, 22 Nov 2020 01:19:30 -0500 (EST)

branch: master
commit 9490f12c4dc4deb16f4e900646319f6de033982c
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Test for byte-compiler warning "variable lacks prefix"
    
    * test/lisp/emacs-lisp/bytecomp-tests.el
    (bytecomp--with-warning-test): New macro.
    (bytecomp-warn-wrong-args, bytecomp-warn-wrong-args-subr):
    Use above new macro.
    (bytecomp-warn-variable-lacks-prefix): New test.
---
 test/lisp/emacs-lisp/bytecomp-tests.el | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el 
b/test/lisp/emacs-lisp/bytecomp-tests.el
index e0a3cc2..680aa51 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -516,19 +516,25 @@ Subtests signal errors if something goes wrong."
     ;; Should not warn that mt--test2 is not known to be defined.
     (should-not (re-search-forward "my--test2" nil t))))
 
+(defmacro bytecomp--with-warning-test (re-warning &rest form)
+  (declare (indent 1))
+  `(with-current-buffer (get-buffer-create "*Compile-Log*")
+     (let ((inhibit-read-only t)) (erase-buffer))
+     (byte-compile ,@form)
+     (ert-info ((buffer-string) :prefix "buffer: ")
+       (should (re-search-forward ,re-warning)))))
+
 (ert-deftest bytecomp-warn-wrong-args ()
-  (with-current-buffer (get-buffer-create "*Compile-Log*")
-    (let ((inhibit-read-only t)) (erase-buffer))
-    (byte-compile '(remq 1 2 3))
-    (ert-info ((buffer-string) :prefix "buffer: ")
-      (should (re-search-forward "remq.*3.*2")))))
+  (bytecomp--with-warning-test "remq.*3.*2"
+    '(remq 1 2 3)))
 
 (ert-deftest bytecomp-warn-wrong-args-subr ()
-  (with-current-buffer (get-buffer-create "*Compile-Log*")
-    (let ((inhibit-read-only t)) (erase-buffer))
-    (byte-compile '(safe-length 1 2 3))
-    (ert-info ((buffer-string) :prefix "buffer: ")
-      (should (re-search-forward "safe-length.*3.*1")))))
+  (bytecomp--with-warning-test "safe-length.*3.*1"
+    '(safe-length 1 2 3)))
+
+(ert-deftest bytecomp-warn-variable-lacks-prefix ()
+  (bytecomp--with-warning-test "foo.*lacks a prefix"
+    '(defvar foo nil)))
 
 (ert-deftest test-eager-load-macro-expansion ()
   (test-byte-comp-compile-and-load nil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]