Serve.cfg:problem:disable stderr

From EjudgeWiki

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


Редактирование элемента: страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Abstract problems", поле "Consider output to stderr as PE", либо страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Concrete problems", поле "Consider output to stderr as PE".


Данная конфигурационная переменная позволяет запретить вывод тестируемой программы на стандартный поток ошибок (stderr, cerr, System.err...).

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

Проверка вывода на стандартный поток ошибок выполняется после:

  • проверки превышения лимита времени выполнения программы (time-limit exceeded);
  • проверки корректности завершения программы (что программа завершилась не из-за сигнала и с кодом завершения 0) (run-time error);
  • проверки ограничений по памяти (memory limit exceeded);
  • проверки нарушений политики безопасности (security violation).

Конифигурационная переменная disable_stderr может устанавливаться в описании абстрактной задачи, и ее значение будет унаследовано в конкретных задачах. Если конфигурационная переменная установлена в положительное значение в абстрактной задача, но в некоторой конкретной задаче необходимо ее сбросить, то в разделе описания конкретной задачи нужно явно установить ее значение в 0.

[problem]
disable_stderr = 0

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

Поддерживается с версии 2.3.20.