summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2019-06-01 12:04:42 -0700
committerGlenn Morris <rgm@gnu.org>2019-06-01 12:04:42 -0700
commit7e911d007d25df9a483eaad54956a4273405574e (patch)
treece1e4b0eda6c940634922e71a726b5c8aa5270b4 /test/lisp/emacs-lisp
parentf17e0e93bd8dbe3b069029585dc5d2dda57c1e1e (diff)
parent134edc10367a8434167656e631865c85b5f10c42 (diff)
downloademacs-7e911d007d25df9a483eaad54956a4273405574e.tar.gz
emacs-7e911d007d25df9a483eaad54956a4273405574e.tar.bz2
emacs-7e911d007d25df9a483eaad54956a4273405574e.zip
Merge from origin/emacs-26
134edc1 Warn about wrong number of args for subrs (Bug#35767) 5f01af6 Use plain symbols for eieio type descriptors (Bug#29220) 4b24b01 Pacify GCC 9 -Wredundant-decls
Diffstat (limited to 'test/lisp/emacs-lisp')
-rw-r--r--test/lisp/emacs-lisp/bytecomp-tests.el14
-rw-r--r--test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el28
2 files changed, 36 insertions, 6 deletions
diff --git a/test/lisp/emacs-lisp/bytecomp-tests.el b/test/lisp/emacs-lisp/bytecomp-tests.el
index ed100020def..f45c9209c14 100644
--- a/test/lisp/emacs-lisp/bytecomp-tests.el
+++ b/test/lisp/emacs-lisp/bytecomp-tests.el
@@ -456,6 +456,20 @@ 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))))
+(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")))))
+
+(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")))))
+
(ert-deftest test-eager-load-macro-expansion ()
(test-byte-comp-compile-and-load nil
'(progn (defmacro abc (arg) 1) (defun def () (abc 2))))
diff --git a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
index e89d6bb5ec0..b105249c7c5 100644
--- a/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
+++ b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
@@ -274,7 +274,7 @@ persistent class.")
:type vector
:initarg :random-vector)))
-(ert-deftest eieio-test-persist-hash-and-vector ()
+(defun eieio-test-persist-hash-and-vector ()
(let* ((jane (make-instance 'person :name "Jane"))
(bob (make-instance 'person :name "Bob"))
(hans (make-instance 'person :name "Hans"))
@@ -294,10 +294,18 @@ persistent class.")
(aset (car (slot-value class 'janitors)) 1 hans)
(aset (nth 1 (slot-value class 'janitors)) 1 dierdre)
(unwind-protect
- ;; FIXME: This should not error.
- (should-error (persist-test-save-and-compare class))
+ (persist-test-save-and-compare class)
(delete-file (oref class file)))))
+(ert-deftest eieio-persist-hash-and-vector-backward-compatibility ()
+ (let ((eieio-backward-compatibility t)) ; The default.
+ (eieio-test-persist-hash-and-vector)))
+
+(ert-deftest eieio-persist-hash-and-vector-no-backward-compatibility ()
+ :expected-result :failed ;; Bug#29220.
+ (let ((eieio-backward-compatibility nil))
+ (eieio-test-persist-hash-and-vector)))
+
;; Extra quotation of lists inside other objects (Gnus registry), also
;; bug#29220.
@@ -312,7 +320,7 @@ persistent class.")
:initarg :htab
:type hash-table)))
-(ert-deftest eieio-test-persist-interior-lists ()
+(defun eieio-test-persist-interior-lists ()
(let* ((thing (make-instance
'eieio-container
:vec [nil]
@@ -332,8 +340,16 @@ persistent class.")
(setf (nth 2 (cadar alst)) john
(nth 2 (cadadr alst)) alexie)
(unwind-protect
- ;; FIXME: Should not error.
- (should-error (persist-test-save-and-compare thing))
+ (persist-test-save-and-compare thing)
(delete-file (slot-value thing 'file)))))
+(ert-deftest eieio-test-persist-interior-lists-backward-compatibility ()
+ (let ((eieio-backward-compatibility t)) ; The default.
+ (eieio-test-persist-interior-lists)))
+
+(ert-deftest eieio-test-persist-interior-lists-no-backward-compatibility ()
+ :expected-result :failed ;; Bug#29220.
+ (let ((eieio-backward-compatibility nil))
+ (eieio-test-persist-interior-lists)))
+
;;; eieio-test-persist.el ends here