You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Executing code with -cov does not account for things like:
auto x = condition ? fun() : gun();
If condition is always the same, one of the function calls isn't covered, and cov does not detect that. Writing the condition on 2-3 lines does work, but coverage analysis shouldn't require code reformatting.
(Same goes about the arguably less frequent
if (condition) fun(); else gun();
and other constructs that cram several statements on one line.)
Thoughts on how we could fix that? One idea for output is to write "000:nnn" instead of the customary "0000000", where nnn is the column number (999 for overflow).
Would this be doable?
The text was updated successfully, but these errors were encountered:
(In reply to Andrei Alexandrescu from comment #0)
> > If condition is always the same, one of the function calls isn't covered,> and cov does not detect that. Writing the condition on 2-3 lines does work,> but coverage analysis shouldn't require code reformatting.>
It does require reformatting, because dmd's coverage is line-based. I would expect an expression-based coverage implementation to be much more complicated, both in output format and internal implementation.
Andrei Alexandrescu (@andralex) reported this on 2014-09-23T15:24:26Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=13524
CC List
Description
The text was updated successfully, but these errors were encountered: