www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - controlling source directory of -cov

Currently, -cov requires you to run the coverage-instrumented program in 
the directory you compiled, so that it can find the source. Is there a 
way to tell the instrumented program where the source is if you run it 
in another directory? Alternatively, is there a way to specify the 
output directory for the list file?

Here is the use case:

On druntime, we are running some coverage tests, and we run them both in 
debug and release mode. However, on some systems these are run 
concurrently, and if they happen to be running the coverage analysis at 
the same time, they will conflict (both write to the same lst file). I 
tried running them from the build directory, but the output file is 
blank, because it cannot find the source file.

At this point, I am working on a PR to symbolically link the source 
directory in the output directory, which will allow the generation to 
work, but I really don't like this solution. I'd much rather be able to 
control the output of the -cov report.

If there isn't a way, I'll file an enhancement request for it.

Aug 21 2015