5

I'm using gcov to measure coverage in my C++ code. I'd like to be able to mark certain lines of source code so that they are excluded from coverage reporting when using gcovr. I know they exist because I stumbled across them once but now I can't find where I saw them.

I'm not using lcov to report coverage so references to such markers are no good to me.

Can anyone point me to the right place?

John Kugelman
  • 349,597
  • 67
  • 533
  • 578
ksl
  • 4,519
  • 11
  • 65
  • 106

1 Answers1

6

I figured this out finally. The lcov exclusion markers are valid with gcovr.

The following markers are recognized by geninfo:

  • LCOV_EXCL_LINE
    • Lines containing this marker will be excluded.
  • LCOV_EXCL_START
    • Marks the beginning of an excluded section. The current line is part of this section.
  • LCOV_EXCL_STOP
    • Marks the end of an excluded section. The current line not part of this section.

You can also replace 'LCOV' above with 'GCOV' or 'GCOVR'. They all work.

ksl
  • 4,519
  • 11
  • 65
  • 106
  • This doesn't work for me. I am using gcovr 3.2 and I mark my lines of C++ with //LCOV_EXCL_LINE, but it still includes them. Which gcovr options are you using? I've tried LCOV/GCOV/GCOVR and I tried using ..._START and ..._STOP instead. Nothing works. – jsp Jul 21 '16 at 21:13
  • I'm using `gcovr` version 3.2. I run it with the following options: `gcovr --html --html-details -o -s -v -g -k -r .` – ksl Jul 25 '16 at 15:56
  • Hmm still doesn't work. Probably has something to do with my directory structure. Anyway, thanks for your help. – jsp Jul 26 '16 at 16:48
  • Perhaps if you post a question detailing exactly what you're doing I might be able to see the problem. Or someone else might. – ksl Jul 27 '16 at 04:52
  • Good idea, I've posted it here: http://stackoverflow.com/questions/38618136/lcov-excl-start-stop-has-no-effect-when-using-gcovr – jsp Jul 27 '16 at 16:08