Я в процессе (наконец-то!) Настройки мониторинга покрытия кода для моего нового C ++ проекта.В связи с тем, что мне нужны некоторые расширенные функции C ++ 20 (читай, сопрограммы), я использую clang 6
в качестве компилятора.
Теперь я следовал этому руководству о том, каксделать базовое покрытие кода для вашего проекта, и все работает как по волшебству.Если я это сделаю:
clang++ -fprofile-instr-generate -fcoverage-mapping test.cpp -o test.out
LLVM_PROFILE_FILE="coverage/test.profraw" ./test.out
llvm-profdata merge -sparse coverage/test.profraw -o coverage/test.profdata
llvm-cov show ./test.out -instr-profile=coverage/test.profdata
Я получу хороший цветной отчет на своем терминале, который скажет мне, что покрыто, а что нет.
Пока все хорошо!Я думал, что я был близок к тому, что я хотел, но затем боль началась, когда я попытался загрузить отчет в codecov.io .
Я пробовал несколько вещей, в том числе:
Запуск своего скрипта https://codecov.io/bash
в моей папке coverage
в надежде, что, возможно, он поймает мою test.profdata
.Никаких кубиков, и это имеет смысл, поскольку даже для llvm-cov
нужен путь к исполняемому файлу для запуска.
Использование функциональности export
: при запуске llvm-cov export --instr-profile=coverage/test.profdata ./test.out
я получаюкрасивый файл JSON (через терминал).Я попытался выбросить вывод в файл coverage.json
, который фактически был загружен, но затем codecov просто говорит, что произошла ошибка при его анализе, без дополнительной информации.
Ячувствуя себя полностью потерянным.На их веб-сайте все кажется таким черным, что я просто не понимаю, как сделать что-то, что случайно не идеально подходит для дел, которыми они могут управлять.
Как мне заставить это работатьс кодеками?Если codecov не может обработать мои отчеты, есть ли какое-либо другое эквивалентное покрытие кода онлайн, которое я могу использовать, чтобы заставить это работать?