Наш C ++ Test Coverage обеспечивает тестовое покрытие для тел шаблонов или, по крайней мере, для тех шаблонов, которые определены в файлах, которые вы указываете для него.
Не различает экземпляры шаблонов.
Если у вас многопоточное приложение, инструмент запишет ветви, выполненные всеми потоками, если вы сконфигурируете инструмент для использования флагов с атомарной записью (обычно это естественный размер слова ЦП [32 или 64 бита] . (Если вы этого не сделаете, вы можете столкнуться с гонкой потоков при обновлении флагов покрытия, и вы можете потерять часть покрытия. Это не является дефектом инструмента; это является следствием несинхронизированного доступа к хранение данных зонда.)
Для обнаружения гонки OP должен найти инструмент обнаружения гонки; инструменты тестирования покрытия этого не сделают.