Update automatically managed build utilities.
[sod] / src / test-base.lisp
index 6e020cb..203f918 100644 (file)
                               rather than `~A'."
                          object print string))))
 
-(defun run-tests ()
-  (textui-test-run *sod-test-suite*))
+(defclass base-test (test-case) ())
+(add-test *sod-test-suite* (get-suite base-test))
+
+(defun run-tests (&optional which)
+  (textui-test-run (acond
+                    ((null which) *sod-test-suite*)
+                    ((labels ((dredge (suite)
+                                (cond
+                                  ((typep suite 'test-suite)
+                                   (some #'dredge (tests suite)))
+                                  ((eq (xlunit::name suite) which)
+                                   suite)
+                                  (t
+                                   nil))))
+                       (dredge *sod-test-suite*))
+                     it)
+                    ((find-class which nil)
+                     (suite (make-instance it)))
+                    (t
+                     (error "Don't know how to turn ~S into a test suite"
+                            which)))))
 
 ;;;----- That's all, folks --------------------------------------------------