Skip to content

Conversation

@thedemoncat
Copy link

  1. Добавил 2 метода:
  • ФС.ПолучитьСуммуФайлаSHA1(ПутьКФайлу)- Вычиcлсяет значение хеш-суммы (контрольной суммы) для указанного файлов по алгоритму SHA-1.
  • ФС.СравнитьФайлы(ПервыйФайл, ВторойФайл) - Сравнивает хеш-суммы 2-х переданных файлов
  1. Реализовал тесты получения хеш-суммы, а также сравнения файлов
  2. добавлены 3 текстовых файла для тестов
Функционал:
   Как разработчик
   Я хочу сравнивать бинарные файлы
   Что бы убедиться в их идентичности

Сценарий: Получение хеш-суммы SHA1 файла
   Допустим есть файл по пути "./tests/resources/ValidSum.txt"
   Когда я выполняю команду "ФС.ПолучитьСуммуФайлаSHA1(ПутьКФайлу)"
   Тогда получаю значение хеш-суммы "01b307acba4f54f55aafc33bb06bbbf6ca803e9a"

Сценарий: Сравнение двух файлов - файлы идентичные
   Допустим есть первый файл по пути "./tests/resources/ValidSum.txt"
   И есть второй файл по пути "./tests/resources/ValidSum1.txt"
   Когда я выполняю команду "ФС.СравнитьФайлы(ПервыйФайл , ВторойФайл)"
   Тогда получаю результат результат выполнения команды "Истина"

Сценарий: Сравнение двух файлов - файлы не равны
   Допустим есть первый файл по пути "./tests/resources/ValidSum.txt"
   И есть второй файл по пути "./tests/resources/NoValidSum.txt"
   Когда я выполняю команду "ФС.СравнитьФайлы(ПервыйФайл , ВторойФайл)"
   Тогда получаю результат результат выполнения команды "Ложь"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

съехало форматирование

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

пустая строка мешает? Просто по файлу везде так сделано. Повторял увиденное, что было однообразно)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В односкрипте есть встроенные функции хеширования. https://oscript.io/syntax/page/%D0%A5%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D1%85

Будет кроссплатформенно и на маке должно работать

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А на macOs так же?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У меня нету мака. Не могу проверить(

Copy link
Member

@nixel2007 nixel2007 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

.ВключитьФайл("LICENSE")
.ВключитьФайл("README.md");
.ВключитьФайл("README.md")
.ЗависитОт("1commands", "1.5.0");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ФС - это "базовая" либа. Её стоит держать без зависимостей чтобы избежать неразрешимых циклов. Например, 1скоммандс больше не сможет использовать ФС, так как ФС будет зависеть от него

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

это придется тащить методы из 1commands по работе с процессами( а там много чего и будут дубли кода. Вот думаю как обойти. на ум приходит только сделать отдельную библиотеку по работе с хеш-суммами.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Методы 1коммандс не нужны, в оскрипте есть встроенные средства получения SHA1

@artbear
Copy link
Member

artbear commented Nov 27, 2020

Закрываю ПР, т.к. @EvilBeaver уже писал, что в движке есть встроенные методы хеширования

@artbear artbear closed this Nov 27, 2020
@EvilBeaver
Copy link
Member

Нене, сам метод-то хороший, просто реализация немного не та. Я не вижу ничего плохого в helper-методе для сравнения по хешам

@EvilBeaver EvilBeaver reopened this Nov 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants