Вот фрагмент кода, с которым я сейчас борюсь:
Код: Выделить всё
static bool is_root(const fs::path& path);
static std::vector gather_gitignores(const fs::path& path) {
if (fs::is_directory(path / ".git")) {
return {};
}
auto current = fs::absolute(path);
auto result = std::vector{};
while (!is_root(current)) {
current = current.parent_path();
const auto gitignore = current / ".gitignore";
if (fs::exists(gitignore)) {
result.push_back(gitignore);
}
if (fs::is_directory(current / ".git")) {
return result;
}
}
return result;
}
Код: Выделить всё
✓ Branch 0 (35→36) taken 35 times.
✓ Branch 2 (36→11) taken 19 times.
✓ Branch 3 (36→37) taken 16 times.
✗ Branch 1 (36→37) not taken.
Я думаю, что все 35, 36, 11 и 37 — это метки в сборке, но как я могу узнать, каким частям кода они соответствуют? В столбцах рядом с источником отображаются только номера строк и количество обращений, а не метки. Я также изучил другие форматы вывода и вывод gcov -H, но не нашел ничего полезного.
Изменить: только что заметил, что (36→37) указан дважды, так что может ли это быть ошибка gcov/gcovr?
Подробнее здесь: https://stackoverflow.com/questions/798 ... r-branches
Мобильная версия