Bug 50691 - Не удается проверить вопрос moodle, созданный через с помощью coderunner
Summary: Не удается проверить вопрос moodle, созданный через с помощью coderunner
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: moodle-qtype_coderunner (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-19 16:50 MSK by Белая Алёна
Modified: 2024-06-19 16:50 MSK (History)
1 user (show)

See Also:


Attachments
coderunner error (33.39 KB, image/png)
2024-06-19 16:50 MSK, Белая Алёна
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Белая Алёна 2024-06-19 16:50:19 MSK
Created attachment 16294 [details]
coderunner error

moodle-4.3.5-alt1.noarch
moodle-qtype_coderunner-5.2.2-alt2.noarch

Стенды:
Alt Workstation K 10.3 x86_64
Alt Education 10.2 x86_64
Alt Workstation 10.2 x86_64
Alt Server 10.2 x86_64

Шаги воспроизведения:
1. Настроить moodle:
# control sudo public
# apt-get install deploy && deploy moodle && sed -i "s|$(hostname)|$(hostname -i)|" /var/www/webapps/moodle/config.php && echo -e "***\nURL: https://$(hostname -i)/moodle\nLogin: admin\nPassword: $(cat /var/www/webapps/moodle/config.php | grep dbpass | cut -d"'" -f2)"
2. Авторизоваться пользователем admin
3. На странице настройки пользователя ввести ФИО, адрес почты и нажать Обновить профиль
5. Перейти на страницу Администрирование -> Курсы -> Управление курсами и категориями
6. Создать новую категорию и курс
7. Установить coderunner:
# apt-get install moodle-qtype_coderunner
8. Обновить moodle через веб-интерфейс
9. Настроить параметры CodeRunner:
    Сервер Jobe: localhost:8089
    Включить jobesandbox
10. Открыть страницу https://<serv_ip>/moodle/question/edit.php?courseid=1 и нажать Создать новый вопрос, выбрать тип CodeRunner, выбрать тип вопроса python3, ввести имя и описание.
Например:
Текст вопроса: print('Hello World!')
Ответ: 'Hello World!'
Тестовый пример 1: print('Hello World!')
Стандартный ввод: Hello World!
Ожидаемый результат: Hello World!
Дополнительные данные шаблона: Hello World!
11. Сохранить вопрос.

Результат: Вопрос не сохраняется, появляется ошибка "Не удалось выполнить тесты"

Ожидаемый результат: Вопрос сохраняется

Дополнительная информация: 
1. Если снять чекбокс "Подтвердить при сохранении" в графе "Ответ", то вопрос сохранится, но не будет проходить проверка ответа в дальнейшем. Появляется чуть более информативная ошибка:
"Произошла непредвиденная ошибка. Песочница может быть недоступна. Попробуйте еще раз.
Не удалось выполнить тесты
Не удалось выполнить запрос сервера Jobe."\u042d\u0442\u043e\u0442 URL \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d."

2. Если изменить параметры безопасности: Администрирование -> Безопасность HTTP -> очистить Список заблокированных хостов cURL и внести 8089 в Список разрешенных портов cURL, ошибка уходит, но при сохранении вопроса вечно висит запрос к серверу jobe. В итоге вопрос все равно не сохраняется.

3. Ошибка воспроизводится в р10 для версии moodle-4.3.0-alt1