update
This commit is contained in:
parent
fa7da4ab1b
commit
7cab7eab1b
@ -1229,7 +1229,7 @@ add_pvs_check(${TRGT})
|
||||
add_sanitizers(${TRGT})
|
||||
----
|
||||
|
||||
Подключение анализатора осуществляется включением опциям при запуске
|
||||
Подключение анализатора осуществляется включением опций при запуске
|
||||
CMake для генерации сборочных файлов. Некоторые из опций между собой
|
||||
несовместимы, в случае попытки совместного использования будет выведено
|
||||
сообщение об ошибке.
|
||||
@ -1254,8 +1254,13 @@ CMake для генерации сборочных файлов. Некотор
|
||||
|
||||
=== Анализ покрытия кода
|
||||
|
||||
Для сбора статистики
|
||||
Для сбора информации о точном количестве исполнений
|
||||
для каждого оператора в программе используется программа
|
||||
https://gcc.gnu.org/onlinedocs/gcc/Gcov.html[Gcov],
|
||||
входящая в состав компилятора https://gcc.gnu.org[GCC].
|
||||
|
||||
Для обеспечения возможности подключения анализа покрытия кода к проекту
|
||||
нужно выполнить функцию (обязательно после подключения всех библиотек):
|
||||
|
||||
[source,cmake]
|
||||
----
|
||||
@ -1264,3 +1269,26 @@ CMake для генерации сборочных файлов. Некотор
|
||||
add_code_coverage(${TRGT})
|
||||
----
|
||||
|
||||
Подключение осуществляется включением опции `ENABLE_CODE_COVERAGE`
|
||||
при запуске CMake для генерации сборочных файлов. В результате будут
|
||||
созданы две дополнительные цели `coverage-${TRGT}` для сбора статистики
|
||||
после работы программы и `coverage-report-${TRGT}` для её вывода
|
||||
в виде HTML-страниц.
|
||||
|
||||
Пример анализа покрытия кода на примере проекта `cmlib-example-app-features`:
|
||||
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
mkdir -p _build/debug
|
||||
cd _build/debug
|
||||
cmake ../.. -DENABLE_CODE_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug
|
||||
make
|
||||
bin/cmlib-example-app-features
|
||||
make coverage-cmlib-example-app-features
|
||||
make coverage-report-cmlib-example-app-features
|
||||
----
|
||||
|
||||
В результате в каталоге `report-cmlib-example-app-features` будет сформирован
|
||||
отчёт о покрытии кода во время выполнения программы в виде HTML-страниц.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user