Как сказать lcov игнорировать строки в исходных файлах

Мне интересно, есть ли возможность сказать lcov игнорировать некоторые строки в исходных файлах, т.е. не сообщайте о них как о непосещенных. Я ищу решение, которое можно вставить в сам код, например:

int some_method(char some_var, char some_other_var)
{
if(some_var == 'A')
{
if(some_other_var == 'B')
{
/* do some real stuff here */
}
else
{
LCOV_DO_NOT_REPORT_NEXT_LINE // **<-- this?? **
NOT_IMPLEMENTED("A*")
}
}
else
{
NOT_IMPLEMENTED("*")
}

И необходимый фон:

Большой кусок кода, подобный приведенному выше, тестируется в серии модульных тестов, но, поскольку этот код все еще находится в стадии разработки, существует множество NOT_IMPLEMENTED("A*") макросы, которые просто выводят на экран сообщение с номером строки / именем файла и выходят из приложения. Для не реализованных веток нет тестов, очевидно, они будут написаны, когда функция будет реализована.

Однако, lcov сообщает об этих NOT_IMPLEMENTED линии, и они выглядят очень некрасиво в отчете о покрытии (то есть: они имеют большое соотношение красных линий).

Возможно ли то, что я прошу, или мы просто должны с этим жить?

9

Решение

Вы можете использовать следующее в качестве комментариев в источнике.

От http://ltp.sourceforge.net/coverage/lcov/geninfo.1.php

  • LCOV_EXCL_LINE
    • Линии, содержащие этот маркер, будут исключены.
  • LCOV_EXCL_START
    • Отмечает начало исключенного раздела. Текущая строка является частью этого раздела.
  • LCOV_EXCL_STOP
    • Отмечает конец исключенного раздела. Текущая строка не является частью этого раздела.
12

Другие решения


По вопросам рекламы [email protected]