I'm not sure it's legal to run 21.2's test-harness from 21.1.3.
So you might want to lock me up, 'cause I just did it.
The test of lisp-tests.el hangs.
Here are
M-x view-lossage[1]
Backtrace[2] after enabling debug-on-quit, re-reunning and quiting (C-g).
and the *Test-Log*[3]
I hope users of footnote-mode will be able to navigate thru the mail
more easily.
Regards,
Adrian
Footnotes:
[1] Loading d:\Users\AichnerAd\.emacs-i386-pc-win32...done
Reading directory e:\export\home\tmp\21.2\xemacs\tests\automated\...
Reading directory e:\export\home\tmp\21.2\xemacs\tests\automated\...done
load test-harness.el? (y or n)
load test-harness.el? (y or n) Yes
Loading e:\export\home\tmp\21.2\xemacs\tests\automated\test-harness.el...
Loading e:\export\home\tmp\21.2\xemacs\tests\automated\test-harness.el...done
load: 1 file.
Quit
ENABLING DEBUG-ON-QUIT-HERE
Loading cus-edit...
Loading customization dependencies...
Loading customization dependencies...done
Loading cus-edit...done
Testing e:\export\home\tmp\21.2\xemacs\tests\automated\lisp-tests.el...
Loading byte-optimize...
Loading byte-optimize...done
Loading debug...
Loading debug...done
Entering debugger...
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Wrong type argument: number-char-or-marker-p, nil
Quit
[2] Signaling: (quit)
nconc((you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapp!
!
ed-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of!
!
-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike ...) foo)
(progn (nconc (make-circular-list length) (quote foo)))
)
(setq trick-optimizer (progn (nconc ... ...)))
)
(progn (setq trick-optimizer (progn ...)) (princ (format "FAIL: %S executed successfully, but expected error %S\n" ... ...)) (incf no-error-failures))
)
(condition-case error-info (progn (setq trick-optimizer ...) (princ ...) (incf no-error-failures)) (circular-list (princ ...) (incf passes)) (error (princ ...) (incf wrong-error-failures)))
)
(Check-Error circular-list (nconc (make-circular-list length) (quote foo)))
)
(while --dolist-temp--18146 (setq length (car --dolist-temp--18146)) (Check-Error circular-list (nconc ... ...)) (Check-Error circular-list (nconc ... ... ...)) (Check-Error circular-list (nconc ... ... ... ...)) (setq --dolist-temp--18146 (cdr --dolist-temp--18146)))
)
(let ((--dolist-temp--18146 ...) length) (while --dolist-temp--18146 (setq length ...) (Check-Error circular-list ...) (Check-Error circular-list ...) (Check-Error circular-list ...) (setq --dolist-temp--18146 ...)) nil)
)
(catch (quote --cl-block-nil--) (let (... length) (while --dolist-temp--18146 ... ... ... ... ...) nil))
)
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil)))
)
(block nil (let (... length) (while --dolist-temp--18146 ... ... ... ... ...) nil))
)
(dolist (length (quote ...)) (Check-Error circular-list (nconc ... ...)) (Check-Error circular-list (nconc ... ... ...)) (Check-Error circular-list (nconc ... ... ... ...)))
)
(lambda nil (defvar passes) (defvar assertion-failures) (defvar no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar other-failures) (defvar unexpected-test-suite-failure) (defvar trick-optimizer) (eval-when-compile (condition-case nil ... ...)) (Check-Error wrong-number-of-arguments (setq setq-test-foo)) (Check-Error wrong-number-of-arguments (setq setq-test-foo 1 setq-test-bar)) (Check-Error wrong-number-of-arguments (setq-default setq-test-foo)) (Check-Error wrong-number-of-arguments (setq-default setq-test-foo 1 setq-test-bar)) (Assert (eq ... nil)) (Assert (eq ... nil)) (Assert (eq ... 42)) (Assert (eq ... 42)) (Assert (eq ... 99)) (Assert (eq ... 99)) (macrolet (...) (test-setq nil ...) (test-setq nil ...) (test-setq 42 ...) (test-setq 42 ...) (test-setq 42 ...) (test-setq 42 ...)) (let (... ... ... ...) (dolist ... ... ...) (dolist ... ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (fillarray my-vector 5) (fillarray my-b!
!
it-vector 1) (fillarray my-string ?5) (dolist ... ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (fillarray my-bit-vector 0) (Assert ...) (Assert ...)) (defun make-circular-list (length) "Create evil emacs-crashing circular list of length LENGTH" (let ... ... circular-list)) (defun make-list-012 nil (list 0 1 2)) (Check-Error wrong-type-argument (nconc ... nil)) (dolist (length ...) (Check-Error circular-list ...) (Check-Error circular-list ...) (Check-Error circular-list ...)) (Assert (eq ... nil)) (Assert (eq ... nil)) (Assert (eq ... nil)) (Assert (eq ... nil)) (let (...) (Assert ...)) (let (...) (Assert ...)) (let (...) (Assert ...)) (let (...) (Assert ...)) (let (...) (Assert ...)) (Assert (equal ... ...)) (let (...) (Assert ...) (Assert ...)) (Check-Error wrong-type-argument (last ...)) (Check-Error wrong-number-of-arguments (last)) (Check-Error wrong-number-of-arguments (last ... 1 1)) (Check-Error circular-list (last ...)) (Check-Err!
!
or circular-list (last ...)) (let (...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...)) (Check-Error wrong-type-argument (butlast ...)) (Check-Error wrong-type-argument (nbutlast ...)) (Check-Error wrong-number-of-arguments (butlast)) (Check-Error wrong-number-of-arguments (nbutlast)) (Check-Error wrong-number-of-arguments (butlast ... 1 1)) (Check-Error wrong-number-of-arguments (nbutlast ... 1 1)) ...)()
funcall((lambda nil (defvar passes) (defvar assertion-failures) (defvar no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar other-failures) (defvar unexpected-test-suite-failure) (defvar trick-optimizer) (eval-when-compile (condition-case nil ... ...)) (Check-Error wrong-number-of-arguments (setq setq-test-foo)) (Check-Error wrong-number-of-arguments (setq setq-test-foo 1 setq-test-bar)) (Check-Error wrong-number-of-arguments (setq-default setq-test-foo)) (Check-Error wrong-number-of-arguments (setq-default setq-test-foo 1 setq-test-bar)) (Assert (eq ... nil)) (Assert (eq ... nil)) (Assert (eq ... 42)) (Assert (eq ... 42)) (Assert (eq ... 99)) (Assert (eq ... 99)) (macrolet (...) (test-setq nil ...) (test-setq nil ...) (test-setq 42 ...) (test-setq 42 ...) (test-setq 42 ...) (test-setq 42 ...)) (let (... ... ... ...) (dolist ... ... ...) (dolist ... ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (fillarray my-vector 5) (fillar!
!
ray my-bit-vector 1) (fillarray my-string ?5) (dolist ... ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (fillarray my-bit-vector 0) (Assert ...) (Assert ...)) (defun make-circular-list (length) "Create evil emacs-crashing circular list of length LENGTH" (let ... ... circular-list)) (defun make-list-012 nil (list 0 1 2)) (Check-Error wrong-type-argument (nconc ... nil)) (dolist (length ...) (Check-Error circular-list ...) (Check-Error circular-list ...) (Check-Error circular-list ...)) (Assert (eq ... nil)) (Assert (eq ... nil)) (Assert (eq ... nil)) (Assert (eq ... nil)) (let (...) (Assert ...)) (let (...) (Assert ...)) (let (...) (Assert ...)) (let (...) (Assert ...)) (let (...) (Assert ...)) (Assert (equal ... ...)) (let (...) (Assert ...) (Assert ...)) (Check-Error wrong-type-argument (last ...)) (Check-Error wrong-number-of-arguments (last)) (Check-Error wrong-number-of-arguments (last ... 1 1)) (Check-Error circular-list (last ...)) (C!
!
heck-Error circular-list (last ...)) (let (...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...) (Assert ...)) (Check-Error wrong-type-argument (butlast ...)) (Check-Error wrong-type-argument (nbutlast ...)) (Check-Error wrong-number-of-arguments (butlast)) (Check-Error wrong-number-of-arguments (nbutlast)) (Check-Error wrong-number-of-arguments (butlast ... 1 1)) (Check-Error wrong-number-of-arguments (nbutlast ... 1 1)) ...))
(condition-case error-info (funcall (test-harness-read-from-buffer inbuffer)) (error (setq unexpected-test-suite-failure t) (princ ...) (message "Unexpected error %S while executing interpreted code." error-info) (message "Test suite execution aborted." error-info)))
)
(with-output-to-temp-buffer "*Test-Log*" (defmacro Assert (assertion) (backquote ...)) (defmacro Check-Error (expected-error &rest body) (let ... ...)) (defmacro Check-Error-Message (expected-error expected-error-regexp &rest body) (let ... ...)) (defmacro Check-Message (expected-message-regexp &rest body) (let ... ...)) (defmacro Ignore-Ebola (&rest body) (backquote ...)) (defun Int-to-Marker (pos) (save-excursion ... ...)) (princ "Testing Interpreted Lisp\n\n") (condition-case error-info (funcall ...) (error ... ... ... ...)) (princ "\nTesting Compiled Lisp\n\n") (let (code) (condition-case error-info ... ...) (condition-case error-info ... ...)) (princ "\nSUMMARY:\n") (princ (format " %5d passes\n" passes)) (princ (format " %5d assertion failures\n" assertion-failures)) (princ (format " %5d errors that should have been generated, but weren't\n" no-error-failures)) (princ (format " %5d wrong-error failures\n" wrong-error-failures)) (princ (format " %5d missing-message fail!
!
ures\n" missing-message-failures)) (princ (format " %5d other failures\n" other-failures)) (let* (... ... ...) (message "%s" summary-msg)) (when unexpected-test-suite-failure (message "Test suite execution failed unexpectedly.")) (fmakunbound (quote Assert)) (fmakunbound (quote Check-Error)) (fmakunbound (quote Ignore-Ebola)) (fmakunbound (quote Int-to-Marker)))
)
(let ((passes 0) (assertion-failures 0) (no-error-failures 0) (wrong-error-failures 0) (missing-message-failures 0) (other-failures 0) (trick-optimizer nil) (unexpected-test-suite-failure nil) (debug-on-error t)) (with-output-to-temp-buffer "*Test-Log*" (defmacro Assert ... ...) (defmacro Check-Error ... ...) (defmacro Check-Error-Message ... ...) (defmacro Check-Message ... ...) (defmacro Ignore-Ebola ... ...) (defun Int-to-Marker ... ...) (princ "Testing Interpreted Lisp\n\n") (condition-case error-info ... ...) (princ "\nTesting Compiled Lisp\n\n") (let ... ... ...) (princ "\nSUMMARY:\n") (princ ...) (princ ...) (princ ...) (princ ...) (princ ...) (princ ...) (let* ... ...) (when unexpected-test-suite-failure ...) (fmakunbound ...) (fmakunbound ...) (fmakunbound ...) (fmakunbound ...)))
)
test-harness-from-buffer(#<buffer " *Test Input*"> "e:\\export\\home\\tmp\\21.2\\xemacs\\tests\\automated\\lisp-tests.el")
(let ((test-harness-current-file filename) input-buffer) (save-excursion (setq input-buffer ...) (set-buffer input-buffer) (erase-buffer) (insert-file-contents filename) (let ... ... ...)) (test-harness-from-buffer input-buffer filename) (kill-buffer input-buffer))
)
(lambda (filename) "Test a file of Lisp code named FILENAME.\nThe output file's name is made by appending `c' to the end of FILENAME." (interactive (let ... ... ...)) (setq filename (expand-file-name filename)) (or noninteractive (let ... ...)) (if (or noninteractive test-harness-verbose) (message "Testing %s..." filename)) (let (... input-buffer) (save-excursion ... ... ... ... ...) (test-harness-from-buffer input-buffer filename) (kill-buffer input-buffer)))("e:\\export\\home\\tmp\\21.2\\xemacs\\tests\\automated\\lisp-tests.el")
call-interactively(test-emacs-test-file)
command-execute(test-emacs-test-file t)
execute-extended-command(nil)
call-interactively(execute-extended-command)
[3] Testing Interpreted Lisp
PASS: (setq setq-test-foo) ==> error wrong-number-of-arguments, as expected
PASS: (setq setq-test-foo 1 setq-test-bar) ==> error wrong-number-of-arguments, as expected
PASS: (setq-default setq-test-foo) ==> error wrong-number-of-arguments, as expected
FAIL: (setq-default setq-test-foo 1 setq-test-bar) executed successfully, but expected error wrong-number-of-arguments
PASS: (eq (setq) nil)
FAIL: (eq (setq-default) nil) ==> error: (wrong-number-of-arguments #<special-form setq-default> 0)
PASS: (eq (setq setq-test-foo 42) 42)
PASS: (eq (setq-default setq-test-foo 42) 42)
PASS: (eq (setq setq-test-foo 42 setq-test-bar 99) 99)
PASS: (eq (setq-default setq-test-foo 42 setq-test-bar 99) 99)
PASS: (eq nil (test-setq-fun))
PASS: (eq nil (test-setq-fun))
FAIL: (eq nil (test-setq-fun)) ==> error: (wrong-number-of-arguments #<special-form setq-default> 0)
FAIL: Assertion failed: (eq nil (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (eq 42 (test-setq-fun))
PASS: (sequencep sequence)
PASS: (eq 4 (length sequence))
PASS: (sequencep sequence)
PASS: (eq 4 (length sequence))
PASS: (sequencep sequence)
PASS: (eq 4 (length sequence))
PASS: (sequencep sequence)
PASS: (eq 4 (length sequence))
PASS: (arrayp array)
PASS: (arrayp array)
PASS: (arrayp array)
PASS: (eq (elt my-vector 0) 1)
PASS: (eq (elt my-bit-vector 0) 1)
PASS: (eq (elt my-string 0) ?1)
PASS: (eq (elt my-list 0) 1)
PASS: (eq 4 (length array))
PASS: (eq 4 (length array))
PASS: (eq (elt my-vector 0) 5)
PASS: (eq (elt my-bit-vector 0) 1)
PASS: (eq (elt my-string 0) ?5)
PASS: (eq (elt my-vector 3) 5)
PASS: (eq (elt my-bit-vector 3) 1)
PASS: (eq (elt my-string 3) ?5)
PASS: (eq 4 (length my-bit-vector))
PASS: (eq (elt my-bit-vector 2) 0)
PASS: (nconc (quote foo) nil) ==> error wrong-type-argument, as expected
--
Adrian Aichner Teradyne GmbH, European Design Center
Integra Test Division Telephone +49/89/41861(0)-208
Dingolfinger Strasse 2 Fax +49/89/41861-217 (What is a Fax?)
D-81673 MUENCHEN E-mail adrian.aichner(a)teradyne.com