Hello asdf,
This is cross posted on the sbcl mailing list (I asked there first since
this has to do with an sbcl specific feature.) Project names were
changed to protect their identities.
I'm a fairly new lisper and I'm running into trouble trying to generate
coverage reports (using sb-cover, obviously) for a specific system in
my project.
I tried to just add the (declaim (optimization
sb-cover:store-coverage-data)) after loading the system, but then I
realized I made a horrible mistake as sbcl uses that optimization
declaration to add tracing data to the compiled code. I then naively
decided it would be a good idea to just force a recompile of the
system. To my horror, I ended up recompiling everything sbcl touched,
cl-sql, bordeaux threads, and more. The good news is that I managed to
generate the coverage report but only with tons of external dependencies
being included in the report as well. As much as I like knowing these
things, it's not exactly useful.
The solution I'm trying to come up with is creating a new type of
operation in asdf conveniently called cover-op. I haven't had much luck
in getting this working (I've only spent an hour on this, so not really
surprising given my exposure to asdf). Currently, I like the setup with
asdf:test-system and then just specialize perform to run the tests. I
would like to do the same thing to generate coverage reports, but the
compilation step is proving the be a problem.
I'm wondering what other asdf users do to ensure coverage reports are
generating for only the "interesting" aspects of your applications?
Thanks,
Sean