За исключением определенных функций от результатов охвата GCOV / LCOV

StackOverflow https://stackoverflow.com/questions/3163364

  •  02-10-2019
  •  | 
  •  

Вопрос

Можно ли исключить определенные функции или линии кода из анализа освещения GCOV. Мой код содержит определенные функции, которые используются для отладки и не осуществляются как часть моего тестового набора. Такие функции уменьшают процент покрытия, представленные GCOV. Я хотел бы исключить эти функции из результатов. Если это невозможно через GCOV, возможно, можно через ЛГОВ, но я не смог понять это. Ваша помощь ценится.

Это было полезно?

Решение

Я отфилярую определенные исходные файлы, запустив выход LCOV --Capture через простой скрипт awk. Выход LCOV --Capture имеет очень простой формат и скрипт awk ниже, фильтрует исходные файлы, соответствующие файлу_Pattern. Я думаю, что можно адаптировать скрипт, чтобы сделать его фильтрами функциями вместо имени файлов.

BEGIN {
        record=""
}

/^SF/ {
        if ( match ($0, "file_pattern" ) ) {
            doprint = 0
        } else {
            doprint = 1
        }
}

/^end_of_record$/ {
        if ( doprint ) {
            print record $0
        }
        record = ""
        next
}

{
    record=record $0 "\n"
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top