Pruebas Genéricas
Las pruebas genéricas son tests que no comprueban solo componentes especificados (p.e. "dnf" o "kernel") pero pueden ser típicamente aplicados a todos los artefactos de un cierto tipo. Un ejemplo de tales como un test pudo ser un test que puede ser ejecutado en todos las construcciones de RPM en una actualización de Bodhi.
Fedora CI actualmente proporciona tres test genéricos. Todo ello ejecuta sobre paquetes que están siendo ampujados a Rawhide por medio de actualizaciones Bodhi.
rpmdeplint
rpmdeplint
es un test genérico que intente identificar problemas en paquetes RPM dentro del contexto de su dependencia gráfica.
Hay cuatro diferentes comprobaciones que realiza el test:
check-sat
Esto comprueba si todas las dependencias en tiempo de ejecicón de los paquetes RPM dados serían satisfechos si los paquetes están puestos para el repositorio dado (como Rawhide).
check-repoclosure
Esto es similar a comprobar el test check-sat, pero check-repoclosure comprueba que todos los paquetes dentro del repositorio dado que no tenga ningún problema de dependencia en tiempo de ejecución antes de que los paquetes nuevos sean añadidos, no tendrían ningún problema de dependencia tras que los paquetes sean añadidos al repositorio.
Los paquetes sólo se consideran disponibles para la resolución de dependencias si son la última versión y no están obsoletos por ningún otro paquete. Por lo tanto, esta comprobación puede detectar problemas en los que un paquete bajo prueba está actualizando un paquete existente en el repositorio, pero ya no proporciona un requisito que necesita algún otro paquete del repositorio.
Paquetes con problemas pre-existente de cierre de repositorio son descartados.
check-conflicts
Comprueba si hay conflictos de archivos no declarados en los paquetes RPM dados: es decir, cuando uno de los paquetes dados contiene un archivo que también está contenido en algún otro paquete.
Esta instrucción no informará un archivo como conflicto entre dos paquetes si:
-
hay un Conflicto RPM explícito entre los dos paquetes; o
-
la suma de comprobación, los permisos, el propietario y el grupo del archivo son idénticos en ambos paquetes (en este caso, RPM permite que ambos paquetes sean propietarios del archivo); o bien
-
el color del archivo es diferente entre los dos paquetes (RPM resolverá silenciosamente el conflicto a favor del archivo de 64-bit).
A veces los archivos pueden pertenecer literalmente a miles de paquetes diferentes. Para comprobar correctamente que no hay conflictos de archivos, |
check-upgrade
Comprueba que no hay paquetes existentes en los repositorios que puedan actualizar u obsoletos los paquetes dados.
Si esta comprobación falla, significa que el paquete bajo prueba nunca se instalará (ya que el gestor de paquetes siempre elegirá el paquete más nuevo u obsoleto de los repositorios en su lugar), lo que no es deseable, suponiendo que el paquete está pensado como una actualización.
rpminspect
Herramientas de análisis de desviaciones de compilaciones RPM. rpminspect
mira la salida de una compilación RPM (por ejemplo, la salida de una compilación Koji) y examina el contenido de los artefactos de compilación para informar:
-
Cumplimiento de normativa
-
Cambia desde una compilación anterior para la compilación actual
-
la anterior construcción es la última construcción dentro del repo estable (en Rawhide, es simplemente la anterior construcción)
-
-
Corrección general y mejores prácticas
rpminspect
realiza más de 30 comprobaciones diferentes en los paquetes. Para listarlas todas, con una bonita descripción, ejecute rpminspect -v -l
.
installability
Esto es un test genérico que intenta realizar las siguientes operaciones en los paquetes dados:
-
dnf install
-
dnf remove
-
dnf update
-
dnf downgrade
Todos los problemas son puestos en la bitácora e informados.
Want to help? Learn how to contribute to Fedora Docs ›