From 72d9066d70ec2354109772ec36e3a5f4fb5cb767 Mon Sep 17 00:00:00 2001 From: Julien Danjou Date: Sat, 20 Jul 2013 13:53:12 +0200 Subject: [PATCH] Pring tests name being ran Close #2. Close #15. --- src/package.lisp | 1 + src/run.lisp | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/package.lisp b/src/package.lisp index 6fda69c..ccee563 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -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 diff --git a/src/run.lisp b/src/run.lisp index 8acdd5e..d9cb767 100644 --- a/src/run.lisp +++ b/src/run.lisp @@ -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 -- 1.7.10.4