2012-07-30 11 views
5

Después de compilar con CMake con flags --coverage, y ejecutar mis programas de prueba de la unidad de impulso, se crean archivos con la extensión .cpp.gcda y .cpp.gcno. Si luego ejecuto gcovr, dice que no puede encontrar los archivos .gcno (mensaje de error ".gcno: no se puede abrir el archivo gráfico"). Posiblemente podría mover todos los archivos de salida, pero sería muy extraño/tonto.CMake/CTest & gcovr: extensiones de nombre de archivo?

Los problemas relacionados de otras personas podrían resolverse mediante el uso de CTest, pero como estoy usando Jenkins me gustaría atenerme a gcovr y utilizar la salida de cobertura xml.

Ps. Tal vez debería simplemente preguntar: ¿cómo debo combinar CMake con gcovr?

+0

Había respondido otra pregunta probable: un método feo https://stackoverflow.com/a/46232989/4204540 – xl4times

+0

Bien, me alegra saber que no era el único, y que estamos de acuerdo en la fealdad de esa solución ! – ikku100

Respuesta

1

Esta es la solución que estamos utilizando para la misma configuración dentro de jenkins: http://www.semipol.de/archives/320. Simplemente puede tomar la macro CMake de la biblioteca RSC vinculada para sus propios fines.

Aparte de eso, se leyó algo sobre un formato levemente cambiado de los archivos de cobertura en versiones recientes de gcc y parece que gcovr no se mantuvo al ritmo de eso. Pero no recuerdo dónde lo leí.

Cuestiones relacionadas