Difference between revisions of "Serve.cfg:global:enable run props"
(...) |
(...) |
||
| Line 19: | Line 19: | ||
* <code>start_env</code> — переменные окружения, которые должны быть установлены при запуске тестируемой программы на выполнение; | * <code>start_env</code> — переменные окружения, которые должны быть установлены при запуске тестируемой программы на выполнение; | ||
* <code>is_archive</code> — | * <code>is_archive</code> — | ||
| + | |||
| + | Если <code>is_archive</code> равен <code>true</code>, должен быть указан <code>start_cmd</code>. | ||
| + | |||
| + | Если <code>is_archive</code> не задан или равен <code>false</code>, последним аргументом командной строки | ||
| + | запуска всегда добавляется имя исполняемой запускаемой программы, имя не нужно явно записывать | ||
| + | в <code>start_args</code>. | ||
| + | |||
| + | Если <code>start_args</code> не задан, он формируется автоматически из <code>start_cmd</code>. | ||
| + | |||
| + | Например, скрипт для "компиляции" питон-программ может генерировать следующий JSON: | ||
| + | |||
| + | { | ||
| + | "start_cmd": "/bin/python3", | ||
| + | "start_args": [ "/bin/python3", "-s" ] | ||
| + | } | ||
Поддерживается начиная с версии [[изменения в версии 3.13.0|3.13.0]]. | Поддерживается начиная с версии [[изменения в версии 3.13.0|3.13.0]]. | ||
Latest revision as of 07:37, 29 December 2024
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Глобальные конфигурационные параметры/enable_run_props
Если переменная установлена в положительное значение, результатом компиляции программы может быть не только исполняемый файл, как в предыдущих версиях, но и дополнительный файл со свойствами скомпилированной программы.
При включенном enable_run_props компонент ej-compile передаёт скрипту компиляции не два, а три
аргумента командной строки:
- имя файла с исходным кодом;
- имя файла, в который должен быть записан результат компиляции;
- имя выходного файла с дополнительными свойствами скомпилированной программы.
Если скрипт компиляции не создал выходной файл со свойствами, это не рассматривается как ошибка, а в дальнейшем скомпилированная программа передаётся на выполнение по обычной схеме.
Файл со свойствами должен быть корректным JSON-файлом с одним объектом со следующими атрибутами:
start_cmd— путь к интерпретатору, который должен использоваться для запуска программы на исполнение;start_args— аргументы командной строки для интерпретатора;start_env— переменные окружения, которые должны быть установлены при запуске тестируемой программы на выполнение;is_archive—
Если is_archive равен true, должен быть указан start_cmd.
Если is_archive не задан или равен false, последним аргументом командной строки
запуска всегда добавляется имя исполняемой запускаемой программы, имя не нужно явно записывать
в start_args.
Если start_args не задан, он формируется автоматически из start_cmd.
Например, скрипт для "компиляции" питон-программ может генерировать следующий JSON:
{
"start_cmd": "/bin/python3",
"start_args": [ "/bin/python3", "-s" ]
}
Поддерживается начиная с версии 3.13.0.