X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/dea4d05507e59ab779ed4bb209e05971d87e260c..bf090e021a5c20da452a4841cdfb8eb78e29544e:/src/test-base.lisp diff --git a/src/test-base.lisp b/src/test-base.lisp index 6e020cb..ffc8e19 100644 --- a/src/test-base.lisp +++ b/src/test-base.lisp @@ -52,7 +52,23 @@ (defun assert-princ (object string) rather than `~A'." object print string)))) -(defun run-tests () - (textui-test-run *sod-test-suite*)) +(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 --------------------------------------------------