anchor.diff:  ;;; 
   ;;; Update history:
   ;;;
  -;;; 04/07/06 added ~<...~> to remaining error output forms [CKR]
  -;;; 04/06/06 added ~<...~> to compact error output better [CKR]
  -;;; 04/06/06 fixed RUN-TESTS to get tests dynamically (bug reported
  -;;;          by Daniel Edward Burke) [CKR]
  -;;; 02/08/06 added newlines to error output [CKR]
  -;;; 12/30/05 renamed ASSERT-PREDICATE to ASSERT-EQUALITY [CKR]
  -;;; 12/29/05 added ASSERT-EQ, ASSERT-EQL, ASSERT-EQUALP [CKR]
  -;;; 12/22/05 recoded use-debugger to use handler-bind, added option to prompt for debugger, 
  -;;; 11/07/05 added *use-debugger* and assert-predicate [DFB]
  -;;; 09/18/05 replaced Academic Free License with MIT Licence [CKR]
  -;;; 08/30/05 added license notice [CKR]
  -;;; 06/28/05 changed RUN-TESTS to compile code at run time, not expand time [CKR]
  -;;; 02/21/05 removed length check from SET-EQUAL [CKR]
  -;;; 02/17/05 added RUN-ALL-TESTS [CKR]
  -;;; 01/18/05 added ASSERT-EQUAL back in [CKR]
  -;;; 01/17/05 much clean up, added WITH-TEST-LISTENER [CKR] 
  -;;; 01/15/05 replaced ASSERT-EQUAL etc. with ASSERT-TRUE and ASSERT-FALSE [CKR]
  -;;; 01/04/05 changed COLLECT-RESULTS to echo output on *STANDARD-OUTPuT* [CKR]
  -;;; 01/04/05 added optional package argument to REMOVE-ALL-TESTS [CKR]
  -;;; 01/04/05 changed OUTPUT-OK-P to trim spaces and returns [CKR]
  -;;; 01/04/05 changed OUTPUT-OK-P to not check output except when asked to [CKR]
  -;;; 12/03/04 merged REMOVE-TEST into REMOVE-TESTS [CKR]
  -;;; 12/03/04 removed ability to pass forms to RUN-TESTS [CKR]
  -;;; 12/03/04 refactored RUN-TESTS expansion into RUN-TEST-THUNKS [CKR]
  -;;; 12/02/04 changed to group tests under packages [CKR]
  -;;; 11/30/04 changed assertions to put expected value first, like JUnit [CKR]
  -;;; 11/30/04 improved error handling and summarization [CKR]
  -;;; 11/30/04 generalized RUN-TESTS, removed RUN-TEST [CKR]
  -;;; 02/27/04 fixed ASSERT-PRINTS not ignoring value [CKR]
  -;;; 02/07/04 fixed ASSERT-EXPANDS failure message [CKR]
  -;;; 02/07/04 added ASSERT-NULL, ASSERT-NOT-NULL [CKR]
  -;;; 01/31/04 added error handling and totalling to RUN-TESTS [CKR]
  -;;; 01/31/04 made RUN-TEST/RUN-TESTS macros [CKR]
  -;;; 01/29/04 fixed ASSERT-EXPANDS quote bug [CKR]
  -;;; 01/28/04 major changes from BUG-FINDER to be more like JUnit [CKR]
  -
   
   #|
  +
   How to use
   ----------
   
  
positive.code:    :run-tests :run-all-tests
     :use-debugger
     :with-test-listener)
    ;; Forms for assertions
    (:export
     :assert-eq :assert-eql :assert-equal :assert-equalp
     :assert-equality :assert-prints :assert-expands
     :assert-true :assert-false :assert-error)
    ;; Utility predicates
    (:export
     :logically-equal :set-equal))
  
  (in-package :lisp-unit)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; Globals
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  (defparameter *test-listener* nil)
  
  (defparameter *tests* (make-hash-table))
  
  ;;; Used by RUN-TESTS to collect summary statistics
  (defvar *test-count* 0)
  (defvar *pass-count* 0)
  
  ;;; Set by RUN-TESTS for use by SHOW-FAILURE
  (defvar *test-name* nil)
  
  ;;; If nil, errors in tests are caught and counted.
  ;;; If :ask, user is given option of entering debugger or not.
  ;;; If true and not :ask, debugger is entered.
  (defparameter *use-debugger* nil)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; Macros
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
  ;;; DEFINE-TEST
  
  (defmacro define-test (name &body body)
    `(progn
       (store-test-code ',name ',body)
       ',name))
  
  ;;; ASSERT macros
  
  (defmacro assert-eq (expected form &rest extras)
    "Assert whether expected and form are EQ."
  
negative.code: 
  (defpackage :lisp-unit
    (:use :common-lisp)
    ;; Forms for assertions
    (:export
     :assert-eq :assert-eql :assert-equal :assert-equalp
     :assert-equality :assert-prints :assert-expands
     :assert-true :assert-false :assert-error)
    ;; Functions for managing tests
    (:export
     :define-test
  