Pring tests name being ran
authorJulien Danjou <julien@danjou.info>
Sat, 20 Jul 2013 11:53:12 +0000 (13:53 +0200)
committerStelian Ionescu <sionescu@cddr.org>
Thu, 25 Jul 2013 19:31:18 +0000 (21:31 +0200)
Close #2.
Close #15.

src/package.lisp
src/run.lisp

index 6fda69c..ccee563 100644 (file)
@@ -74,6 +74,7 @@
    #:*debug-on-error*
    #:*debug-on-failure*
    #:*verbose-failures*
+   #:*print-names*
    #:results-status))
 
 ;;;; You can use #+5am to put your test-defining code inline with your
index 8acdd5e..d9cb767 100644 (file)
@@ -39,6 +39,9 @@
 (defparameter *debug-on-failure* nil
   "T if we should drop into a debugger on a failing check, NIL otherwise.")
 
+(defparameter *print-names* t
+  "T if we should print test running progress, NIL otherwise.")
+
 (defun import-testing-symbols (package-designator)
   (import '(5am::is 5am::is-true 5am::is-false 5am::signals 5am::finishes)
           package-designator))
@@ -184,12 +187,16 @@ run."))
   !!, !!!"))
 
 (defmethod %run ((test test-case))
+  (when *print-names*
+    (format *debug-io* "~% Running test ~A " (name test)))
   (run-resolving-dependencies test))
 
 (defmethod %run ((tests list))
   (mapc #'%run tests))
 
 (defmethod %run ((suite test-suite))
+  (when *print-names*
+    (format *debug-io* "~%Running test suite ~A~%" (name suite)))
   (let ((suite-results '()))
     (flet ((run-tests ()
              (loop
@@ -220,7 +227,8 @@ run."))
 
 ;;;; ** Public entry points
 
-(defun run! (&optional (test-spec *suite*))
+(defun run! (&optional (test-spec *suite*)
+             &key ((:print-names *print-names*) *print-names*))
   "Equivalent to (explain! (run TEST-SPEC))."
   (explain! (run test-spec)))
 
@@ -235,7 +243,7 @@ detailed-text-explainer with output going to *test-dribble*"
         (*debug-on-failure* t))
     (run! test-spec)))
 
-(defun run (test-spec)
+(defun run (test-spec &key ((:print-names *print-names*) *print-names*))
   "Run the test specified by TEST-SPEC.
 
 TEST-SPEC can be either a symbol naming a test or test suite, or