cl-rt (20040621-4) direct (non packaging) changes

Summary

 rt-test.lisp |   31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

    
download this patch

Patch contents

--- 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)