Closed xd009642 closed 3 years ago
Just updated the above with some recent thoughts after looking into this a bit. I'll look to prototyping something in a smaller example binary first as a proof of concept
I've got a prototype of following process exec's on https://github.com/xd009642/tarpaulin/pull/615 if you want to try it out. So far I've just tried it on a very simple toy project so more people testing it is appreciated 😄
@xd009642 Thanks so much for looking into this. I got the coverage calculated on my integration tests, that call the executable with process:Command
. Here is the codecov report: https://codecov.io/gh/Ch00k/orthanc-cli/tree/d30f584c8494231a3330f30e5afbafef50432046/src
Let me me know if you need me to perform any more specific tests before you can merge the PR.
Right I've done some more testing and merged, forks don't work but exec does which I feel is the most important part anyway. I'll close this and tackle any issues as they arise when people upgrade :+1:
Following forks covered by this issue https://github.com/xd009642/tarpaulin/issues/616
This is a big change and probably quite challenging but here it goes.
Given a test or program that uses a function like
Command::spawn()
or something likeassert-cli
which launches a new binary follow that binary down and get coverage of it's code. The steps to do this (as far as I can tell are)test_loader.rs
to get a tracemap for them. Merge with existing tracemap (maybe after the next step)This is just an initial impression, it may be missing details or not quite work. It's just a record of my thoughts and feelings regarding an initial approach. It does complicate the run time logic of tarpaulin so may involve a substantial redesign of numerous modules as well!