Pregunta

¿Es posible excluir ciertas funciones o líneas de código a partir del análisis de la cobertura gcov. Mi código contiene ciertas funciones que se utilizan para depurar y no se ejercen como parte de mi serie de pruebas. Estas funciones reducen el porcentaje de cobertura reportada por gcov. Me gustaría excluir estas funciones a partir de los resultados. Si no es posible a través de gcov, tal vez es posible a través de lcov, pero no era capaz de entenderlo. Se agradece su ayuda.

¿Fue útil?

Solución

Me filtrar determinados archivos de origen mediante la ejecución de la salida de --capture lcov a través de un sencillo script awk. La salida de --capture lcov tiene un formato muy simple y la secuencia de comandos awk debajo filtros cabo archivos de origen coincidente file_pattern. Creo que es posible adaptar el guión para que sea filtrar funciones en lugar de nombres de archivo.

BEGIN {
        record=""
}

/^SF/ {
        if ( match ($0, "file_pattern" ) ) {
            doprint = 0
        } else {
            doprint = 1
        }
}

/^end_of_record$/ {
        if ( doprint ) {
            print record $0
        }
        record = ""
        next
}

{
    record=record $0 "\n"
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top