Я пишу новую формулу для Homebrew для некоторого программного обеспечения, которое я поддерживаю, и в рамках моего тестирования я хотел бы убедиться, что файлы добавляются только в правильные места при установке и что все файлы удаляются при удалении.
Как лучше всего сравнивать файловые структуры до и после тестовой установки и удаления?
В терминале я могу выбрать два варианта:
ls -R
.
tree directory-name/
(после его установки; т.е. brew install tree
). Косая черта в конце сохраняет отображение специальных символов в файле, в котором сохраняется вывод.
В обоих случаях вы перенаправляете вывод в файл до и после установки и сравниваете два файла, возможно, используя Apple FileMerge.app, поставляемый с Xcode.
Мне нравится использовать «найти» и «шасум» для такого рода задач. Два разных вызова, 1 для структуры и другой для sha-1 файлов:
find -s /path/to/directory -ls > files-before.txt
find -s /path/to/directory -type f -exec shasum \{} \+ >> files-before.txt
Запустите свои установки/удаления, а затем используйте тот же процесс для «files-after.txt». Затем
diff files-before.txt files-after.txt
Два способа приходят мне в голову:
бот47