Previous: sb-rotate-byte, Up: Contributed Modules
The sb-cover module provides a code coverage tool for SBCL. The
tool has support for expression coverage, and for some branch coverage.
Coverage reports are only generated for code compiled using
compile-file with the value of the
sb-cover:store-coverage-data optimization quality set to 3.
As of SBCL 1.0.6 sb-cover is still experimental, and the
interfaces documented here might change in later versions.
;;; Load SB-COVER
(require :sb-cover)
;;; Turn on generation of code coverage instrumentation in the compiler
(declaim (optimize sb-cover:store-coverage-data))
;;; Load some code, ensuring that it's recompiled with the new optimization
;;; policy.
(asdf:oos 'asdf:load-op :cl-ppcre-test :force t)
;;; Run the test suite.
(cl-ppcre-test:test)
;;; Produce a coverage report
(sb-cover:report "/tmp/report/")
;;; Turn off instrumentation
(declaim (optimize (sb-cover:store-coverage-data 0)))
Print a code coverage report of all instrumented files into
directory. Ifdirectorydoes not exist, it will be created. The main report will be printed to the file cover-index.html. The external format of the source files can be specified with theexternal-formatparameter.