.inf-файлы

From EjudgeWiki
Revision as of 11:19, 4 January 2012 by Cher (talk | contribs) (Created page with "Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/[[.inf-...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/.inf-файлы

Файлы с дополнительной информацией о тестах располагаются в том же каталоге, в котором располагаются файлы с тестовыми данными и файлы с эталонными ответами. По умолчанию файлы с дополнительной информацией имеют суффикс имени .inf.

Файл предназначен для уточнения режимов запуска тестируемой программы в зависимости от теста. В файле можно задавать аргументы командной строки для запускаемой программы и переменные окружения. Для проверки ответа завершившейся программы можно указать запрет вывода тестируемой программы на стандартный поток ошибок, включить режим проверки вывода на стандартный поток ошибок, указать ожидаемый код завершения тестируемой программы. При отображении результатов тестирования можно указать комментарий к тесту, отображаемый для участников и проверяющих.

Аргументы командной строки

Аргументы командной строки задаются с помощью параметра params. Например,

params = 1 2   3

В запускаемую программу будут переданы три аргумента командной строки: "1", "2", "3". Аргументы командной строки разделяются пробельными символами. Допускается не передавать в программу аргументы командной строки.

params =

В этом случае в запускаемую программу будет передано только имя самой запускаемой программы.

Для передачи аргументов командной строки, содержащих пробел и другие управляющие символы используются строки в стиле Си:

params = "1 2" "\"var\""

В этому случае в программу передаются два параметра командной строки: первый параметр содержит пробел, а второй - кавычки.

Переменные окружения

Переменные окружения задаются с помощью параметра environ. Например,

environ = VAR1=value1 VAR2=value2

при запуске программы будут установлены две переменных окружения VAR1 и VAR2 со значениями value1 и value2 соответственно.

Управление выводом тестируемой программы

Параметр disable_stderr запрещает тестируемой программе вывод на стандартный поток ошибок. Если тестируемая программа в процессе выполнения вывела что-либо на stderr, она получит вердикт выполнения Presentation error. Данный параметр аналогичен конфигурационной переменной раздела описания задач disable_stderr, но позволяет задавать этот режим для отдельных тестов, а не для задачи целиком.

Чтобы включить режим запрета вывода на стандартный поток ошибок значение параметра либо не указывается, либо указывается большим нуля, например:

disable_stderr

Чтобы отключить режим запрета вывода на стандартный поток ошибок, если они был включен для всей задачи в целом, необходимо указать значение параметра 0.

disable_stderr = 0

Параметр check_stderr включает режим проверки стандартного потока ошибок программы. Параметр действует только в случае, если вывод тестируемой программы на стандартный поток ошибок не запрещен. По умолчанию с эталонным ответом сравнивается стандартный поток вывода тестируемой программы. С помощью указания параметра

check_stderr

можно включить режим сравнения вывода программы на стандартный поток ошибок. В этом случае вывод программы на стандартный поток вывода будет игнорироваться.

Задание ожидаемого кода завершения

Параметр exit_code позволяет задать ожидаемый код завершения программы. Если на данном тесте программа должна завершиться не с кодом 0 как обычно, а, например, с кодом 1, то указывается следующий параметр:

exit_code = 1

В случае, если тестируемая программа на данном тесте завершится с кодом, отличным от 1, она получит вердикт Wrong answer на данном тесте.

Комментарии к тесту

Параметр team_comment позволяет задать комментарий к тесту, который будет отображаться участнику в протоколе тестирования, даже в случае, когда сам тест закрыт для участника. Например,

team_comment = "тест на крайнее значение x"

Параметр comment позволяет задать комментарий к тесту, отображаемый для проверяющих и администраторов.