Есть ли активно поддерживаемый порт lcov для windows
Вопрос
Я измеряю покрытие для своего кода с помощью библиотеки gcov и хочу создать отчет о покрытии в удобном для пользователя формате. Я нашел утилиту lcov для этого, но она не совместима со средой Windows (в основном из-за способа анализа путей). Кто-нибудь знает про активно поддерживаемый порт lcov для Windows?
Кажется, что заставить его работать в Windows было бы довольно легко (возможно, его даже можно решить несколькими креативными пакетными / perl-сценариями, имитирующими поведение команд оболочки unix), и этот инструмент весьма полезен, поэтому я полагаю, кто-то, возможно, уже сделал это.
Решение
Хотя он может быть грязным, lcov похоже, работает под Cygwin. Вас также может заинтересовать вопрос Как можно Я измеряю покрытие теста CppUnit (на win32 и Unix)? и его ответы. Visual Studio , по-видимому, предоставляет отчеты о покрытии кода.
Другие советы
Здесь активно поддерживается порт lhov genhtml для окон: https://github.com/RickSBrown/jgenhtml а>. р>
Он специально разработан для кроссплатформенности - никаких проблем с обратной косой чертой в путях и т. д.
Существует также версия LCOV для Windows в https://github.com/valbok/lcov с объяснение, как его использовать. У нас были некоторые проблемы с использованием нативной или другой версии LCOV. Например, отсюда http: // просто -embedded.blogspot.com/2014/07/code-coverage-html-reports-using-lcov.html р>
Наш поток выглядит примерно так:
<Ол>Сборка проекта в Windows с использованием компилятора GCC ARM QNX, сбор файлов gcno.
Скопируйте двоичные файлы и конфиги в цель в QNX и запустите их, соберите файлы gcda.
Запустите LCOV (в Windows или Linux) для создания отчетов.
В случае использования нативной версии LCOV отчеты будут повреждены из-за путаницы окон и путей linux и некоторых ошибок в сценариях LCOV. Нам пришлось немного исправить сценарии, чтобы избежать таких проблем, как дубликаты dir, слэши, неработающие пути и т. Д.
Существует версия для Windows, созданная Дональдом МакКуином под http://www.macqueen.us/lcov. HTML , но я не проверял это.
Я сделал свою собственную версию, которую вы можете найти здесь:
http://simply-embedded.blogspot.com/2014/07/code-coverage-html-reports-using-lcov.html
Это сделано в версии 1.11 LCOV.