1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-04 02:51:31 -08:00

Fix recently uncovered 'make check' failures

For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-01/msg01111.html

* test/lisp/autorevert-tests.el
(auto-revert-test07-auto-revert-several-buffers):
* test/lisp/emacs-lisp/seq-tests.el (test-seq-do-indexed)
(test-seq-random-elt-take-all): Fix errors from using add-to-list on
lexical variables.
* test/lisp/emacs-lisp/cl-lib-tests.el
(cl-lib-defstruct-record): Expect test to succeed when byte-compiled
following change of 2021-01-23 'Fix missing file&line info in
"Unknown defun property" warnings'.
(cl-lib-tests--dummy-function): Remove; no longer needed.
(old-struct): Silence byte-compiler warning about unused lexical
variable.
This commit is contained in:
Basil L. Contovounesios 2021-01-23 23:31:13 +00:00
parent 7cc970e7e3
commit e1902ac618
No known key found for this signature in database
GPG key ID: 205AB54A5D5D8CFF
3 changed files with 21 additions and 30 deletions

View file

@ -543,15 +543,7 @@
(apply (lambda (x) (+ x 1)) (list 8)))))
'(5 (6 5) (6 6) 9))))
(defun cl-lib-tests--dummy-function ()
;; Dummy function to see if the file is compiled.
t)
(ert-deftest cl-lib-defstruct-record ()
;; This test fails when compiled, see Bug#24402/27718.
:expected-result (if (byte-code-function-p
(symbol-function 'cl-lib-tests--dummy-function))
:failed :passed)
(cl-defstruct foo x)
(let ((x (make-foo :x 42)))
(should (recordp x))
@ -566,6 +558,7 @@
(should (eq (type-of x) 'vector))
(cl-old-struct-compat-mode 1)
(defvar cl-struct-foo)
(let ((cl-struct-foo (cl--struct-get-class 'foo)))
(setf (symbol-function 'cl-struct-foo) :quick-object-witness-check)
(should (eq (type-of x) 'foo))

View file

@ -29,6 +29,9 @@
(require 'ert)
(require 'seq)
(eval-when-compile
(require 'cl-lib))
(defmacro with-test-sequences (spec &rest body)
"Successively bind VAR to a list, vector, and string built from SEQ.
Evaluate BODY for each created sequence.
@ -108,16 +111,12 @@ Evaluate BODY for each created sequence.
'((a 0) (b 1) (c 2) (d 3)))))
(ert-deftest test-seq-do-indexed ()
(let ((result nil))
(seq-do-indexed (lambda (elt i)
(add-to-list 'result (list elt i)))
nil)
(should (equal result nil)))
(let (result)
(seq-do-indexed (lambda (elt i) (push (list elt i) result)) ())
(should-not result))
(with-test-sequences (seq '(4 5 6))
(let ((result nil))
(seq-do-indexed (lambda (elt i)
(add-to-list 'result (list elt i)))
seq)
(let (result)
(seq-do-indexed (lambda (elt i) (push (list elt i) result)) seq)
(should (equal (seq-elt result 0) '(6 2)))
(should (equal (seq-elt result 1) '(5 1)))
(should (equal (seq-elt result 2) '(4 0))))))
@ -410,12 +409,10 @@ Evaluate BODY for each created sequence.
(ert-deftest test-seq-random-elt-take-all ()
(let ((seq '(a b c d e))
(elts '()))
(should (= 0 (length elts)))
elts)
(dotimes (_ 1000)
(let ((random-elt (seq-random-elt seq)))
(add-to-list 'elts
random-elt)))
(cl-pushnew random-elt elts)))
(should (= 5 (length elts)))))
(ert-deftest test-seq-random-elt-signal-on-empty ()