Estoy escribiendo una nueva fórmula para Homebrew para un software que mantengo y, como parte de mis pruebas, me gustaría asegurarme de que los archivos solo se agreguen en los lugares correctos durante la instalación y que todos los archivos se eliminen durante la desinstalación.
¿Cuál es la mejor manera de comparar estructuras de archivos antes y después de instalar y desinstalar mi prueba?
En Terminal puedo pensar en dos opciones:
ls -R
.
tree directory-name/
(después de instalarlo; es decir brew install tree
). La barra inclinada al final conserva la visualización de caracteres especiales en el archivo en el que se guarda la salida.
En ambos casos, redirige la salida a un archivo antes y después de la instalación y compara los dos archivos posiblemente usando Apple FileMerge.app incluido con Xcode.
Me gusta usar "buscar" y "shasum" para este tipo de tareas. Dos invocaciones diferentes, 1 para la estructura, y otra para los sha-1's de los archivos:
find -s /path/to/directory -ls > files-before.txt
find -s /path/to/directory -type f -exec shasum \{} \+ >> files-before.txt
Ejecute sus instalaciones/desinstalaciones y luego use el mismo proceso para "archivos-después.txt". Entonces
diff files-before.txt files-after.txt
Se me ocurren dos formas de la parte superior de mi cabeza:
bot47