--- cl-rt-20040621.orig/rt-test.lisp
+++ cl-rt-20040621/rt-test.lisp
@@ -32,22 +32,29 @@
(defmacro setup (&rest body)
`(do-setup '(progn ., body)))
+(defmacro with-empty-test-database (&body body)
+ `(let ((regression-test::*entries* (list nil))
+ (regression-test::*entries-table* (make-hash-table
+ :test #'equal))
+ (*test* nil)
+ (regression-test::*in-test* nil))
+ (let ((regression-test::*entries-tail* regression-test::*entries*))
+ ,@body)))
+
(defun do-setup (form)
- (let ((*test* nil)
- (*do-tests-when-defined* nil)
- (rt::*entries* (list nil))
- (rt::*in-test* nil)
- (rt::*debug* t)
- result)
- (deftest t1 4 4)
- (deftest (t 2) 4 3)
- (values-list
- (cons (normalize
+ (with-empty-test-database
+ (let ((*do-tests-when-defined* nil)
+ (rt::*debug* t)
+ result)
+ (deftest t1 4 4)
+ (deftest (t 2) 4 3)
+ (values-list
+ (cons (normalize
(with-output-to-string (*standard-output*)
(setq result
(multiple-value-list
- (catch 'rt::*debug* (eval form))))))
- result))))
+ (catch 'rt::*debug* (eval form))))))
+ result)))))
(defun normalize (string)
(with-input-from-string (s string)