-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Исправлены тесты на linux под 2.0 #84
Conversation
Обзор измененийВнесенное изменение добавляет новую команду, которая позволяет отключить выполнение операций с помощью системных команд. Это повышает безопасность, предотвращая возможные векторы атак через исполнение кода на уровне операционной системы. Изменения
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (1)
- tasks/test.os (1 hunks)
Additional comments: 2
tasks/test.os (2)
- 28-28: Изменение в строке 28 отключает выполнение через системные команды, что предположительно является решением проблемы с синтаксической ошибкой при использовании
sh -c
. Необходимо убедиться, что это изменение не влияет на другие части системы, где может потребоваться выполнение команд через систему.Verification successful
К сожалению, предыдущая попытка использовать
ast-grep
для поиска использования функцииУстановитьИсполнениеЧерезКомандыСистемы
не удалась, так как языкone_script
не поддерживается этой утилитой. Вместо этого мы можем использоватьrg
(ripgrep), чтобы выполнить поиск по тексту в файлах репозитория.
Результат выполнения команды
rg
показывает, что функцияУстановитьИсполнениеЧерезКомандыСистемы
используется только в файлеtasks/test.os
. Это указывает на то, что изменение, внесенное в запросе на извлечение, локализовано только в этом файле и не оказывает влияния на другие части системы. Таким образом, можно сделать вывод, что изменение носит специфический характер для скриптаtasks/test.os
и, вероятно, предназначено для решения описанной в запросе на извлечение проблемы, не затрагивая другие скрипты или функциональные возможности.* 25-32: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-34]Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Поиск использования функции УстановитьИсполнениеЧерезКомандыСистемы в других файлах ast-grep --lang one_script --pattern $'УстановитьИсполнениеЧерезКомандыСистемы($_)'Length of output: 205
Script:
#!/bin/bash # Поиск использования функции УстановитьИсполнениеЧерезКомандыСистемы в файлах репозитория rg "УстановитьИсполнениеЧерезКомандыСистемы"Length of output: 391
В остальной части файла
tasks/test.os
изменений не обнаружено. Предложенное изменение в строке 28 должно решить проблему с синтаксической ошибкой, возникающей при использовании имен файлов на русском языке в командахsh -c
. Однако, стоит проверить, не влияет ли это изменение на другие тесты или части системы, которые могут зависеть от выполнения через системные команды.
@EvilBeaver FYI |
Кажется, надо чинить, но непонятно где, то ли в движке, то ли в 1commands (а кто знает, как она работает, кроме @artbear?) |
1commands по итогу делает: СоздатьПроцесс("sh -c 'oscript tasks/testIsolated.os /home/runner/work/autumn/autumn/tests/ИзолированныеТесты/ВЗаготовкуНельзяПрилепитьПластилин.os'"); Что тут можно исправить со стороны 1commands? Да и строго говоря не очень понятно в чём именно ошибка, если честно |
Ошибка в парсере команд строки. ломается на '. Это сначала всплыло на маке. Пофиксили, но разломалось на виндах. Потом сделали условие что на маке и на виндах парсится по разному. Видимо на линухе, так же ломается как и было на маке. Давно пытался это закостылить в 1командс. https://github.com/artbear/1commands/pull/53/files но глобально эт проблему не решает. |
Чудны дела твои господи, под никсами в 2.0, вызовы формата:
sh -c 'oscript tasks/testIsolated.os /home/runner/work/autumn/autumn/tests/ИзолированныеТесты/ВЗаготовкуНельзяПрилепитьПластилин.os'
Падают в ошибку:
tasks/testIsolated.os: 1: Syntax error: Unterminated quoted string
А вызовы:
oscript tasks/testIsolated.os /home/runner/work/autumn/autumn/tests/ИзолированныеТесты/ВЗаготовкуНельзяПрилепитьПластилин.os
Проходят успешно
Summary by CodeRabbit