Coverage report not output if not run from source dir

"Luís "Luís
Tue Oct 8 11:10:11 PDT 2013


DMD does not seem to generate the code coverage report file if 
the program is not run from the same directory as the source 
file. The documentation does not mention this as a desired 
behavior, so it seems to be a bug, but maybe it is a safeguard?

For instance, this works:

     ~/test$ dmd -cov test.d && ./test
     ~/test$ ls *.lst
     test.lst

This does not output the coverage listing:

     ~/test/sub$ dmd -cov test.d
     ~/test/sub$ cd ..
     ~/test$ ./sub/test.d
     ~/test$ find . -name '*.lst'
     ~/test$

This attempt at a workaround works, but produces unhelpful 
listing filenames:

     ~/test/sub2$ dmd -cov ../sub1/test.d -of../sub1/test
     ~/test/sub2$ ../sub1/test
     ~/test/sub2$ ls *.lst
     zsh: no matches found: *.lst
     ~/test/sub2$ find . -name '*.lst'
     ./..-sub1-test.lst

So even either:

1) the safeguard is intended (but apparently not documented, 
which should be fixed), but the output path should to be tweaked 
for this latter corner case;

2) this is all a bug, and the coverage listing is missing when it 
shouldn't.

I just wanted to clarify which. I can open a bug report after 
clarifying.

In the future, should I just file bug reports and ask any 
questions there (if in doubt about the issue being a bug at all, 
etc.), or do you prefer if I ask here in the forums first? (it 
may be helpful for those lurking, but which don't read the bug 
reports?)


More information about the Digitalmars-d mailing list