diff --git a/rt-package.lsp b/rt-package.lsp index ba0eb8768c588afaa58a579862c670139e0f7bd8..c76664226eb32521a57f045f5fccbda6b292d225 100644 --- a/rt-package.lsp +++ b/rt-package.lsp @@ -52,7 +52,10 @@ #:*catch-errors* #:*passed-tests* #:*failed-tests* - #:disable-note)))))) + #:disable-note + #:*expected-failures* + #:*unexpected-failures* + #:*unexpected-successes*)))))) ;; ) ;; (in-package :regression-test) diff --git a/rt.lsp b/rt.lsp index d658243e660c84f2f20b324e31a0c9ee675fc67d..349fa0056e89fc2090a4f5e8ee6b6f3b7aaf276a 100644 --- a/rt.lsp +++ b/rt.lsp @@ -53,6 +53,12 @@ (defvar *expected-failures* nil "A list of test names that are expected to fail.") +(defvar *unexpected-successes* nil + "A list of tests that passed but were expected to fail.") + +(defvar *unexpected-failures* nil + "A list of tests that failed but were not expected to fail.") + (defvar *notes* (make-hash-table :test 'equal) "A mapping from names of notes to note objects.") @@ -380,6 +386,7 @@ (if (null new-failures) (format s "~&No unexpected failures.") (when *expected-failures* + (setf *unexpected-failures* new-failures) (format s "~&~A unexpected failures: ~ ~:@(~{~<~% ~1:;~S~>~ ~^, ~}~)." @@ -393,11 +400,13 @@ (loop :for ex :in *expected-failures* :unless (gethash ex pending-table) :collect ex))) (if unexpected-successes - (format t "~&~:D unexpected successes: ~ + (progn + (setf *unexpected-successes* unexpected-successes) + (format t "~&~:D unexpected successes: ~ ~:@(~{~<~% ~1:;~S~>~ ~^, ~}~)." - (length unexpected-successes) - unexpected-successes) + (length unexpected-successes) + unexpected-successes)) (format t "~&No unexpected successes."))))) )) (finish-output s)