LCOV_EXCL_START / STOP не имеет никакого эффекта при использовании gcovr

Когда я добавляю теги LCOV_EXCL_START / STOP в мой код C ++, это никак не влияет на мой отчет gcovr.

Кто-то знает, почему это происходит?

У меня есть следующее:

$ tree
.
├── build
├── include
│   └── a.h
└── tests
    └── test_a.cpp

а также

$ cat include/a.h 
void f (bool x)
{
    // LCOV_EXCL_START
    if (x)
        throw 1;
    // LCOV_EXCL_STOP
}

а также

$ cat tests/test_a.cpp 
#include "a.h"

int main ()
{
    f (false);
    return 0;
}

Но строка 5throw 1; включен в отчет gcovr, даже если он окружен тегами exclude:

$ g++ -c -O0 -fprofile-arcs -ftest-coverage -fPIC --coverage -I include ./tests/test_a.cpp -o ./build/test_a.o
$ g++ ./build/test_a.o -o ./build/test_a -lgcov
$ ./build/test_a
$ gcovr -r .
------------------------------------------------------------------------------
                           GCC Code Coverage Report
Directory: .
------------------------------------------------------------------------------
File                                       Lines    Exec  Cover   Missing
------------------------------------------------------------------------------
include/a.h                                    4       3    75%   5
tests/test_a.cpp                               3       3   100%   
------------------------------------------------------------------------------
TOTAL                                          7       6    85%
------------------------------------------------------------------------------
 jsp29 июл. 2016 г., 19:05
@ksl Однако, если сделать структуру каталогов плоской, это работает.
 jsp16 авг. 2016 г., 15:51
@ksl Нет, это никогда не было решено.
 ksl28 июл. 2016 г., 18:24
Для начала попробуйте добавить// GCOV_EXCL_LINE после броска 1; - то есть все на одной линии. Это имеет какое-то значение?
 jsp29 июл. 2016 г., 19:00
@ksl Да, я пробовал это. Спасибо за предложение. Странно, не правда ли?
 ksl16 авг. 2016 г., 10:53
Вы решили это?
 ksl29 июл. 2016 г., 14:43
Вы пробовали этоа также удаление// LCOV_EXCL_START а также// LCOV_EXCL_STOP? Сжимая здесь ..
 jsp28 июл. 2016 г., 23:37
@ksl Я попробовал, но это не имеет значения.

Ответы на вопрос(1)

Решение Вопроса

Я обновился до версии 3.4 gcovr, и теперь она работает.

Ваш ответ на вопрос