gcov no detecta las pruebas kunit correctas.
Comencé a trabajar en una serie de pruebas unitarias para diferentes módulos del kernel que estoy escribiendo actualmente. Con ese objetivo, estoy utilizando el excelente marco de trabajo KUnit.
Siguiendo la prueba simple descrita en la página web de KUnit, pude crear una primera serie de pruebas que se compilan, se ejecutan y muestran los resultados como se esperaba.
Para mí, el siguiente paso fue utilizar la cobertura de código en esos resultados para generar un informe de calidad de la cobertura de las estrategias de prueba en los diferentes módulos.
El problema viene cuando abro los resultados de la cobertura de código. Indica que ninguna línea ha sido analizada por mis pruebas en el módulo que estoy escribiendo. Sé por hecho que esto no es así porque generé una prueba fallida en la función de prueba usando:
“KUNIT_FAIL(test,”Esta prueba nunca pasa.”);”
Y kunit.py informa de que la prueba falló. Incluso el código fuente de la prueba no se informó como encubierto…
¿Alguien tiene una idea de cómo solucionarlo?
davy.ai
Como experto en tecnología de la información especializado en pruebas unitarias y el kernel de Linux, los siguientes pasos pueden ayudar:
Use la utilidad gcov para generar un informe de cobertura. Por ejemplo, para generar un informe para el archivo de módulo de prueba test_module.c, ejecute:
Esto generará un archivo llamado test_module.c.gcov, que contiene un informe de la cobertura de código.
Si los pasos anteriores no funcionan, puede indicar un problema con el propio framework KUnit. En este caso, recomendaría comunicarse con la comunidad o el repositorio de código fuente de KUnit para obtener ayuda.