From 94c8b5238555dba56b5567945eab65d2632f78ba Mon Sep 17 00:00:00 2001 From: Joseph A. Oswald, III Date: Sat, 18 Jul 2009 12:48:05 -0400 Subject: [PATCH] Add with-empty-test-database macro Still have bug that this does not accurately empty the test database. --- rt-test.lisp | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/rt-test.lisp b/rt-test.lisp index c045aa1..ff603b5 100644 --- a/rt-test.lisp +++ b/rt-test.lisp @@ -32,22 +32,26 @@ (defmacro setup (&rest body) `(do-setup '(progn ., body))) +(defmacro with-empty-test-database (&body body) + `(let ((regression-test::*entries* (list nil)) + (*test* nil) + (regression-test::*in-test* nil)) + ,@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) -- 1.5.4.5