emacs-diffs
[Top][All Lists]
Advanced

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

master 4457b95: Add tests for some byte-compiler warnings


From: Stefan Kangas
Subject: master 4457b95: Add tests for some byte-compiler warnings
Date: Mon, 30 Nov 2020 22:52:01 -0500 (EST)

branch: master
commit 4457b9590c83f0245604cf6a706383d9aa2c659c
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Add tests for some byte-compiler warnings
    
    * test/lisp/emacs-lisp/bytecomp-tests.el
    (bytecomp-warn/warn-interactive-only\.el)
    (bytecomp-warn/warn-obsolete-defun\.el)
    (bytecomp-warn/warn-obsolete-hook\.el)
    (bytecomp-warn/warn-obsolete-variable-same-file\.el)
    (bytecomp-warn/warn-obsolete-variable\.el): New tests.
    * test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el:
    * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el:
    * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el:
    * 
test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el:
    * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el:
    New files.
---
 .../bytecomp-resources/warn-interactive-only.el        |  3 +++
 .../bytecomp-resources/warn-obsolete-defun.el          |  8 ++++++++
 .../bytecomp-resources/warn-obsolete-hook.el           |  3 +++
 .../warn-obsolete-variable-same-file.el                | 13 +++++++++++++
 .../bytecomp-resources/warn-obsolete-variable.el       |  4 ++++
 test/lisp/emacs-lisp/bytecomp-tests.el                 | 18 ++++++++++++++++++
 6 files changed, 49 insertions(+)

diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el 
b/test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el
new file mode 100644
index 0000000..9e0c99b
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el
@@ -0,0 +1,3 @@
+;;; -*- lexical-binding: t -*-
+(defun foo ()
+  (next-line))
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el 
b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el
new file mode 100644
index 0000000..2a7af61
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el
@@ -0,0 +1,8 @@
+;;; -*- lexical-binding: t -*-
+
+(defun foo-obsolete ()
+  (declare (obsolete nil "99.99"))
+  nil)
+
+(defun foo ()
+  (foo-obsolete))
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el 
b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el
new file mode 100644
index 0000000..078e6e4
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el
@@ -0,0 +1,3 @@
+;;; -*- lexical-binding: t -*-
+(defun foo ()
+  (add-hook 'bytecomp--tests-obsolete-var #'next-line))
diff --git 
a/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el 
b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el
new file mode 100644
index 0000000..31deb61
--- /dev/null
+++ 
b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el
@@ -0,0 +1,13 @@
+;;; -*- lexical-binding: t -*-
+
+(defvar foo-obsolete nil)
+(make-obsolete-variable 'foo-obsolete nil "99.99")
+
+;; From bytecomp.el:
+;; If foo.el declares `toto' as obsolete, it is likely that foo.el will
+;; actually use `toto' in order for this obsolete variable to still work
+;; correctly, so paradoxically, while byte-compiling foo.el, the presence
+;; of a make-obsolete-variable call for `toto' is an indication that `toto'
+;; should not trigger obsolete-warnings in foo.el.
+(defun foo ()
+  foo-obsolete)
diff --git a/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el 
b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el
new file mode 100644
index 0000000..9a517cc
--- /dev/null
+++ b/test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el
@@ -0,0 +1,4 @@
+;;; -*- lexical-binding: t -*-
+
+(defun foo ()
+  bytecomp--tests-obsolete-var)
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el 
b/test/lisp/emacs-lisp/bytecomp-tests.el
index c9070c0..bea9663 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -560,6 +560,24 @@ Subtests signal errors if something goes wrong."
 
 (bytecomp--define-warning-file-test "warn-free-variable-reference.el" 
"free.*bar")
 
+(bytecomp--define-warning-file-test "warn-obsolete-defun.el"
+                            "foo-obsolete.*obsolete function.*99.99")
+
+(defvar bytecomp--tests-obsolete-var nil)
+(make-obsolete-variable 'bytecomp--tests-obsolete-var nil "99.99")
+
+(bytecomp--define-warning-file-test "warn-obsolete-hook.el"
+                            "bytecomp--tests-obs.*obsolete.*99.99")
+
+(bytecomp--define-warning-file-test "warn-obsolete-variable-same-file.el"
+                            "foo-obs.*obsolete.*99.99" t)
+
+(bytecomp--define-warning-file-test "warn-obsolete-variable.el"
+                            "bytecomp--tests-obs.*obsolete.*99.99")
+
+(bytecomp--define-warning-file-test "warn-interactive-only.el"
+                            "next-line.*interactive use only.*forward-line")
+
 (ert-deftest test-eager-load-macro-expansion-eval-when-compile ()
   ;; Make sure we interpret eval-when-compile forms properly.  CLISP
   ;; and SBCL interpreter eval-when-compile (well, the CL equivalent)



reply via email to

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