Покрытие кода C++, вызываемого через Pybind из теста PythonC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Покрытие кода C++, вызываемого через Pybind из теста Python

Сообщение Anonymous »

В настоящее время работаю с устаревшей кодовой базой, которая создает ряд модулей Pybind и тестирует большую часть открытого кода C++ с помощью тестов Python.
Можно ли определить покрытие кода C++ через тесты Python? Насколько я понимаю, покрытие C++ заключается в том, что вам нужен скомпилированный исполняемый тестовый файл с объектными файлами, который можно запустить для сбора данных о покрытии (результирующие файлы gcda). Проблема здесь в том, что тесты Python не вызывают исполняемый файл теста, они используют скомпилированные файлы .so через модуль Pybind.
Можно ли генерировать данные покрытия через файлы Pybind и .so?
Если это поможет, мы используем Bazel, и я создал простую среду песочницы с базовой целью pybind_library и py_test. цель. Я могу скомпилировать pybind_library (который обертывает цель cc_binary) с флагами покрытия и сгенерировать файлы gcno, но когда цель py_test выполняется, она не генерирует никаких gcda, но определенно использует скомпилированную библиотеку .so.

Подробнее здесь: https://stackoverflow.com/questions/772 ... ython-test
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»