El código fuente de PostgreSQL se puede compilar con instrumentación de pruebas de cobertura,
de modo que sea posible examinar qué
partes del código están cubiertas por las pruebas de regresión o cualquier otra
suite de pruebas que se ejecute con el código. Actualmente esto está soportado
cuando se compila con GCC, y requiere los paquetes gcov
y lcov.
Un flujo de trabajo típico se ve así:
./configure --enable-coverage ... OTRAS OPCIONES ... make make check # u otra suite de pruebas make coverage-html
Luego apunta tu navegador HTML
a coverage/index.html.
Si no tienes lcov o prefieres una salida de texto en lugar de un
reporte HTML, puedes ejecutar
make coverage
en lugar de make coverage-html, lo cual
producirá archivos de salida .gcov para cada archivo fuente
relevante para la prueba. (make coverage y make
coverage-html se sobrescribirán mutuamente, por lo que mezclarlos
podría resultar confuso).
Puedes ejecutar varias pruebas diferentes antes de generar el reporte de cobertura; los conteos de ejecución se acumularán. Si deseas reiniciar los conteos de ejecución entre ejecuciones de prueba, ejecuta:
make coverage-clean
Puedes ejecutar el comando make coverage-html o make
coverage en un subdirectorio si deseas un reporte de cobertura
solo para una parte del árbol de código.
Usa make distclean para limpiar cuando hayas terminado.
Un flujo de trabajo típico se ve así:
meson setup -Db_coverage=true ... OTRAS OPCIONES ... builddir/ meson compile -C builddir/ meson test -C builddir/ cd builddir/ ninja coverage-html
Luego apunta tu navegador HTML
a ./meson-logs/coveragereport/index.html.
Puedes ejecutar varias pruebas diferentes antes de generar el reporte de cobertura; los conteos de ejecución se acumularán.