| Summary: | Выполнить обработку ошибок от hardlinkpy для негативных сценариев (нет доступа, прерывание) | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Vera Blagoveschenskaya <vercha> |
| Component: | hardlinkpy | Assignee: | Антон Мидюков <antohami> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | minor | ||
| Priority: | P3 | CC: | antohami, george, imz, mike, rider, sotor |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
Для питона это типа нормально. На самом деле нет. В питоне можно легко сделать обработку таких ошибок, их интерпретацию и вывод в человеческом формате. |
hardlinkpy-0.0.20180725-alt1.noarch 1) Выполнить команду hardlinkpy -n / (dry-run) или 2) Прервать выполнение команды hardlinkpy (натравить hardlinkpy на большой каталог и нажать ctrl+c) Результат: в выводе ошибки вида Traceback (most recent call last): File "/usr/bin/hardlinkpy", line 492, in <module> main() File "/usr/bin/hardlinkpy", line 487, in main hardlink_identical_files(directories, pathname, options) File "/usr/bin/hardlinkpy", line 262, in hardlink_identical_files options): File "/usr/bin/hardlinkpy", line 148, in are_files_hardlinkable result = are_file_contents_equal(filename1, filename2, options) File "/usr/bin/hardlinkpy", line 136, in are_file_contents_equal return filecmp.cmp(filename1, filename2, shallow=False) File "/usr/lib64/python3.7/filecmp.py", line 62, in cmp outcome = _do_cmp(f1, f2) File "/usr/lib64/python3.7/filecmp.py", line 75, in _do_cmp with open(f1, 'rb') as fp1, open(f2, 'rb') as fp2: PermissionError: [Errno 13] Permission denied: '//sys/module/sr_mod/uevent' ^CTraceback (most recent call last): File "/usr/bin/hardlinkpy", line 492, in <module> main() File "/usr/bin/hardlinkpy", line 487, in main hardlink_identical_files(directories, pathname, options) File "/usr/bin/hardlinkpy", line 262, in hardlink_identical_files options): File "/usr/bin/hardlinkpy", line 148, in are_files_hardlinkable result = are_file_contents_equal(filename1, filename2, options) File "/usr/bin/hardlinkpy", line 136, in are_file_contents_equal return filecmp.cmp(filename1, filename2, shallow=False) File "/usr/lib64/python3.7/filecmp.py", line 62, in cmp outcome = _do_cmp(f1, f2) File "/usr/lib64/python3.7/filecmp.py", line 78, in _do_cmp b2 = fp2.read(bufsize) KeyboardInterrupt Ожидаемый результат: считаю, что данные негативные сценарии нужно обрабатывать (не вываливать в консоль названия функций и номера строк, а выводить нормальные пользовательские сообщения).