Closed Bug 1371875 Opened 6 years ago Closed 6 years ago

Coverage data seems weird in WritingModes.h

Categories

(Testing :: Code Coverage, defect)

Version 3
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: xidorn, Unassigned)

References

(Blocks 1 open bug)

Details

Looking at coverage data of some layout filed, I found that the data in WritingModes.h is somehow weird:
* most code lines of that file doesn't have either red or green. they are just plain white, even if they are real code which should be executable.
* WritingMode::InitFromStyleVisibility is shown as completely red, which is weird because it is invoked unconditionally by the WritingMode constructor above, which has a great coverage.

I guess the coverage doesn't work well with inlining somehow? Maybe it doesn't count functions which doesn't have address, and it doesn't track counts in inlined functions?

I guess that would cause inaccuracy for the coverage data.
Oh, forgot to paste the url. This is the page I'm looking: https://codecov.io/gh/marco-c/gecko-dev/src/master/layout/generic/WritingModes.h
Yes, inlining and other compiler optimizations can cause problems for coverage collection. We're investigating disabling some optimizations in bug 1344165.
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #0)
> Looking at coverage data of some layout filed, I found that the data in
> WritingModes.h is somehow weird:
> * most code lines of that file doesn't have either red or green. they are
> just plain white, even if they are real code which should be executable.
> * WritingMode::InitFromStyleVisibility is shown as completely red, which is
> weird because it is invoked unconditionally by the WritingMode constructor
> above, which has a great coverage.

It looks like this function is covered in the latest run. I'm not sure what changed since when you filed the bug.
Yeah, it seems that it works fine now.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.