Optionally you can manipulate code-coverage-data before displaying it, using the functions described in this section.
The code-coverage-data structure contains information about some set of files. Except for the internal code-coverage-data, this information does not change. The internal code-coverage-data object is updated whenever code that was compiled with code coverage runs. Also, when a binary file that was compiled with code coverage is loaded it adds itself to the internal code-coverage-data (overwriting any existing data associated with that file). Most of the functions for manipulating code-coverage-data can operate on the internal code-coverage-data structure by passing t
as the data argument. See the specific functions for details.
The interface to code coverage data allows you to:
These functions are copy-code-coverage-data, copy-current-code-coverage, merge-code-coverage-data, filter-code-coverage-data, save-code-coverage-data, save-current-code-coverage and load-code-coverage-data.
For example, you may subtract the data of one test from another to see how they differ in the way they use their code.
These functions are add-code-coverage-data, destructive-add-code-coverage-data, subtract-code-coverage-data, destructive-subtract-code-coverage-data, reverse-subtract-code-coverage-data and destructive-reverse-subtract-code-coverage-data.
These functions are clear-code-coverage, reset-code-coverage and restore-code-coverage-data.
These functions are set-code-coverage-snapshot, get-code-coverage-delta and reset-code-coverage-snapshot.
LispWorks User Guide and Reference Manual - 20 Sep 2017