X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?p=wolf;a=blobdiff_plain;f=.candle;fp=.candle;h=977edcadcd359446780e72e04bf9b54f677b31d5;hp=ea94ec00dcca89f9cef4eb58742355928df24381;hb=32e40fe970531962c4b12e9ff5ae6558995feb62;hpb=4c7b410b80d93e6374344b4f837b33b2b900e24a diff --git a/.candle b/.candle index ea94ec0..977edca 100644 --- a/.candle +++ b/.candle @@ -1,8 +1,29 @@ -(:packages :wolf :wolf-test :sheep) +(:packages :wolf :wolf-test :sheep :sb-cover) (:name :wolf :tasks ((:name :test :directions (wolf-test:run-all-tests)) + (:name :coverage :directions + (progn + (let + ((coverage nil) + (*error-output* (make-broadcast-stream)) + (*standard-output* (make-broadcast-stream))) + (declaim (optimize sb-cover:store-coverage-data)) + (asdf:load-system :wolf :force t) + (wolf-test:run-all-tests) + (setf coverage + (apply #'+ + (mapcar + (lambda (coverage-item) (length (remove t (cdr coverage-item) :key #'cdr))) + (sb-cover:save-coverage)))) + (declaim (optimize (sb-cover:store-coverage-data 0))) + (asdf:load-system :wolf :force t) + ; 39 here is the number of unexecuted forms/branches due to + ; error checking that can get triggered during mistakes in development, + ; but aren't accessible during normal running (because if they were, + ; that's be a bug we needed to fix!) + (= coverage 39)))) (:name :wolf :directions (wolf:pretty-print-check-directory "src" :copyright-notice "; Copyright .* Frank Duncan \\(frank@consxy.com\\) under AGPL3. See distributed LICENSE.txt."))